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 回答