1

私はGWT ListBoxを持っています。私の検証コードは、ListBox の選択されたインデックスが -1 (私の ListBox のデフォルト状態) であるかどうかを問い合わせます。ListBox に触れないと、予想どおり、getSelectedIndex() は -1 を返します。ListBox アイテムの上にカーソルを置き、いずれかをクリックしない (つまり、外側をクリックする) と、getSelectedIndex() は (-1) 以外の index を返します。ListBox アイテムをクリックしない限り、-1 を返したいのですが、ListBox 自体が更新されてその選択が反映されます。

私は何をすべきか?

4

1 に答える 1

0

GWT ではなく、選択された要素が何であるかをブラウザーが判断するため、ネイティブ<select>要素を適切な方法で使用することはできません。言い換えれば、これがまさにその<select>仕組みです。

独自の選択ウィジェットを作成するか (いずれにせよ、スタイリング上の理由からこれが好まれる場合があります)、創造性を発揮して既存のウィジェットの隣に何かを詰め込む必要があります。クリック ハンドラーを ListBox に追加し、選択したインデックスを「手動で」-1 に設定することもできますが、ユーザーが操作をキャンセルして後で選択を復元するかどうかを確認する必要があります。おそらく、アプリの残りの部分が新しい -1 ハックに反応することを望まないため、カスタム コードから選択イベントを抑制する必要があります。うーん!おそらく、これを別の方法で処理するのが最も簡単です。

于 2012-06-19T15:11:53.197 に答える