我正在尝试在控制器中定义选择控件,但是它不起作用。我希望选择控件具有默认值{garows> Type}并显示具有Question,Answer和Button的下拉列表。
这是我到目前为止尝试过的。该选择是ColumnListItem中的第三个控件。其他所有东西都在起作用。
this.setModel(new JSONModel({
"type": {
"answer": "Answer",
"button": "Button",
"question": "Question"
}
}), "typDropDown");
var item = new Item({
text: "{garows>/Type}"
});
var oTable = this.byId("gaTable");
oTable.setMode("None");
oTable.bindItems({ //changes the table for guided assistance qa to editable
path: "garows>/flow",
template: new ColumnListItem({
cells: [
new Text({
text: "{garows>ID}"
}),
new TextArea({
value: "{garows>value_long}",
growing: true,
growingMaxLines: 7
}),
new Select({
autoAdjustWidth: true
}).bindAggregation("items", "typDropDown>/type", item),
new TextArea({
value: "{garows>Action}"
}),
new TextArea({
value: "{garows>Button1}"
}),
new TextArea({
value: "{garows>Button2}"
}),
new TextArea({
value: "{garows>Button3}"
}),
new TextArea({
value: "{garows>Button4}"
}),
new TextArea({
value: "{garows>Button5}"
}),
new TextArea({
value: "{garows>Button6}"
}),
new TextArea({
value: "{garows>Active_Flag}"
})
]
}),
key: "ID"
}).setKeyboardMode("Edit");
预期结果是,select控件将具有默认值{garows> Type},并显示包含Question,Answer和Button的下拉列表。我将不胜感激。
答案 0 :(得分:0)
在bindAgregation上应该为
.bindAggregation("items", "garows>/type", item) right?
您使用了其他模型(typDropDown)。
答案 1 :(得分:0)
我认为您的typDropDown的数据结构不正确-它必须是数组,而不是聚合绑定的对象映射。
如果我对您的理解正确,则需要将项聚合绑定到typDropDown模型(必须是数组),并且要将Select的selectedKey属性绑定到garows模型中的值。
因此,在我看来,您需要更改typeDropDown和项目模板的数据结构,并需要绑定selectedKey。