Select SAPU15 中的数据绑定
Select data binding in SAPU15
我阅读了文档https://sapui5.hana.ondemand.com/#/api/sap.m.Select并尝试做一个小例子。我在控制器的 onInit 函数中创建了我的值:
var oData = {
"SelectedProduct": "test1",
"ProductCollection": [
{
"ProductId": "test1",
"Name": "test 1"
},
{
"ProductId": "test2",
"Name": "test 2"
},
{
"ProductId": "test3",
"Name": "test 3"
}
]
};
var oModel = new JSONModel(oData);
this.getView().setModel(oModel, "myTest");
我希望我的 selectedProduct 默认值为 test1,所以我将其初始化为 test1。
在我的 xml 文件中,我创建了如下选择器:
<Select
id="idSelect"
forceSelection="false"
selectedKey="{myTest>/SelectedProduct}"
change="_change"
items="{
path: 'myTest>/ProductCollection'
}">
<core:Item key="{myTest>/SelectedProduct}" text="{myTest>Name}" />
</Select>
因此,每次我更改值时,都会生成以下代码:
_change: function () {
console.log("_changeAblauf");
console.log(this.getView().byId("idAblaufbriefeSelect").getSelectedItem());
console.log(this.getView().byId("idAblaufbriefeSelect").getName());
},
我的问题是打印总是显示来自 oData 而不是来自选择器的我的 SelectedProduct 的内容..
为什么它不从选择器中获取值,我如何读取选择器的新值?
在你应该绑定的项目的 key
属性 中 myTest>ProductId
:这个值将填充你的模型 SelectedProduct
属性 每次 change
事件将被触发。
我阅读了文档https://sapui5.hana.ondemand.com/#/api/sap.m.Select并尝试做一个小例子。我在控制器的 onInit 函数中创建了我的值:
var oData = {
"SelectedProduct": "test1",
"ProductCollection": [
{
"ProductId": "test1",
"Name": "test 1"
},
{
"ProductId": "test2",
"Name": "test 2"
},
{
"ProductId": "test3",
"Name": "test 3"
}
]
};
var oModel = new JSONModel(oData);
this.getView().setModel(oModel, "myTest");
我希望我的 selectedProduct 默认值为 test1,所以我将其初始化为 test1。
在我的 xml 文件中,我创建了如下选择器:
<Select
id="idSelect"
forceSelection="false"
selectedKey="{myTest>/SelectedProduct}"
change="_change"
items="{
path: 'myTest>/ProductCollection'
}">
<core:Item key="{myTest>/SelectedProduct}" text="{myTest>Name}" />
</Select>
因此,每次我更改值时,都会生成以下代码:
_change: function () {
console.log("_changeAblauf");
console.log(this.getView().byId("idAblaufbriefeSelect").getSelectedItem());
console.log(this.getView().byId("idAblaufbriefeSelect").getName());
},
我的问题是打印总是显示来自 oData 而不是来自选择器的我的 SelectedProduct 的内容..
为什么它不从选择器中获取值,我如何读取选择器的新值?
在你应该绑定的项目的 key
属性 中 myTest>ProductId
:这个值将填充你的模型 SelectedProduct
属性 每次 change
事件将被触发。