2012-05-03 5 views
0

setReadOnly(true)を実行するとVaadin ComboBoxが非表示になるのはなぜですか?読み取り専用時にVaadinコンボボックスが表示されない

スクリーンショット

通常 normal ComboBox - visible

見えないComboBox with setReadOnly(true) - invisible

ソースコード

import java.util.List; 
import com.vaadin.ui.ComboBox; 

public class PropertyComboBox extends ComboBox 
{ 
    public PropertyComboBox(List<String> properties) 
    { 
     super(); 
     for(String property: properties) {this.addItem(property);} 
     this.setImmediate(true); 
     this.setMultiSelect(false); 

     this.setNewItemsAllowed(false); 
     this.setInputPrompt("Property"); 
     this.setReadOnly(true); 
    } 
} 

答えて

1

ユーザーが何も書き込めないコンボボックスを作成しようとしている場合は、NativeSelectコンポーネントをチェックしてください。

APIドキュメントから:

これは複数選択、新しいアイテム、遅延読み込み、およびその他の高度な機能をサポートし、例えば、なしを選択し、簡単なドロップダウンです。 ComboBoxのすべての鐘と笛を使わずに「ネイティブ」を選択すると、より良い選択となることがあります。

これらの機能が必要ない場合は、NativeSelectの使用を検討する必要があります。

1

あなたは、Tを設定するときは、すべてのコンポーネントは、 "目に見えない" を取得裾は読み取り専用です。私はそれの理由を見つけることができず、また不思議に思っていた。

私の提案(ちょっとハッキー):コンポーネントを無効にして、CSS内の無効な表示を変更してください。

1

Nexusが正しく、readOnlyに設定するとコンポーネントが見えなくなります。実際には読み取り専用に設定すると、 "v-readonly" cssクラス名とCSSが残ります。

よろしくお願いいたします。

関連する問題