0

json から Qooxdoo Mobile の選択ボックスを初期化/更新しようとしています。

    this.__model = new qx.data.Array();
    var selQuestion = "substance released";
    sel = new qx.ui.mobile.form.SelectBox();
    sel.setDialogTitle(selQuestion);
    sel.setModel(this.__model);
    form.add(sel, selQuestion)

この方法でアップデートしてみましたが、マニュアルによるとモバイルリストにはまだ対応していません。

test = ["item1", "item2"];
new qx.data.controller.List(new qx.data.Array(test), sel);

また、プロパティの変更で apply メソッドを使用しても機能しませんでした (ボックスは空のままです)。

__applySubstances : function(value, old) {
    this._model = new qx.data.Array();
    if(value) {
      for(i in value.toArray()) {
        this._model.push(value.toArray()[i].getName());
      }
    }
  }

誰かが私を正しい方向に押し進めることができますか?

4

1 に答える 1

1

あなたのコードに問題はありません。遊び場の例を教えてください。

__applySubstances メソッドの値パラメーターを確認してください。

モバイル ショーケースの例を次に示します。

 var dd = new qx.data.Array(["Web search", "From a friend", "Offline ad"]);
      var selQuestion = "How did you hear about us ?";
      this.__sel = new qx.ui.mobile.form.SelectBox();
      this.__sel.set({required: true});
      this.__sel.set({placeholder:"Unknown"});
      this.__sel.setClearButtonLabel("Clear");
      this.__sel.setNullable(true);
      this.__sel.setDialogTitle(selQuestion);
      this.__sel.setModel(dd);
      this.__sel.setSelection(null);

      form.add(this.__sel, selQuestion);
于 2012-12-19T10:19:33.610 に答える