読者です 読者をやめる 読者になる 読者になる

extjsのComboBoxで選択を解除する

extjsのComboBoxで、いったんドロップダウンリストから項目を選択したあとで、未選択の状態に戻す方法がわからなかったので調べてみました。私が探した限り、、ComboBoxのconfigオプションではそういう指定はなさそうですが、以下のような回避策?がありそうです。

  1. 編集可能(editable: tru)eにしてユーザに削除してもらう
  2. ドロップダウンリストを開いたら選択を解除する
  3. 未選択を表す項目を追加する

2番目は、ユーザーがドロップダウンリストを開いたイベントを受け取って選択を解除します。別の項目を選択しようとして、やっぱりやめたー、みたいな場合にも選択が解除されてしまいます。

listeners:{
    expand: function(combo){combo.reset();}
}

3番目は、セレクトボックスでよくやるようにStoreに未選択を表す項目を追加します。実際のコードはフォーラムの↓のトピックにあります。ただ、未選択状態の説明はemptyTextが使えるので、私は2番目の方法がよいと思いますが。
Combobox deselect item