[ComboBox] 表示用文字列に空文字を設定した場合、selectedIndexが-1に設定されてしまう

文書番号 : 81874     文書種別 : Bug
登録日 : 2016/11/22     最終更新日 : 2017/03/10

対象製品

Wijmo 5

ステータス

回避方法あり

詳細

ComboBoxの表示用文字列に空文字を設定してisRequiredプロパティにfalseを設定した場合、上下キーで項目を変更すると、実際には存在しない項目(この項目を選択したときselectedIndex = -1になる)が選択されてしまいます。

【再現手順】
1. ComboBoxを選択します。
  このComboBoxには4個の項目が設定されていて、そのうち先頭の項目は表示文字列が空文字列に設定されています。
2. 下キーを3回押下します。
結果:4番目の項目が選択されます。(正常な動作)

3. 下キーをもう1回押下します。
結果:存在しない項目が選択され、コンソールログでselectedIndex = -1に設定されていることが確認できます。(異常な動作)

4. 下キーをもう1回押下します。
結果:先頭の項目が選択されます。

サンプル


回避方法

下記コードのようにselectedIndexChangedイベントにて、selectedIndexが-1の場合、selectedIndexに0を設定します。

◆サンプルコード(JavaScript)
----------------------------------
comboBox.selectedIndexChanged.addHandler(function (s, e) {
  if (comboBox.selectedIndex == -1) {
    comboBox.selectedIndex = 0;
  }
});
----------------------------------