我有一个表,其中包含n个项目。在深度创建操作期间将其用作Item。该表没有启用多选模式。表最初与json模型数据绑定,例如2个字段。对于一个输入类型的字段,输入了一些内容并使用添加按钮继续推送行。我正在获取除我手动输入的该输入字段以外的所有字段的数据。我还尝试了一件事在输入字段上使用liveChange / change,但这似乎也起作用。输入后将其删除。
columns>
<Column id="col1" minScreenWidth="Tablet" demandPopin="true" hAlign="Center" width="25%">
<header>
<Label text="Name" id="lab1" width="25%"/>
</header>
</Column>
<Column id="col2" minScreenWidth="Tablet" demandPopin="true" hAlign="Center" width="75%">
<header>
<Label text="employee ID" id="lab2" width="75%"/>
</header>
</Column>
</columns>
<items>
<ColumnListItem id="item1" type="Active">
<cells>
<Text text="{path: 'keyTable>name'}" id="text1" width="5%"/>
<Input value="{path: 'keyTable>empid'}" id="text2" editable="true"liveChange="readFileObject" width="95%"></Input>
</cells>
</ColumnListItem>
</items>
readFileObject: function(oEvent){
//lv_BusyDialog.open();
var that = this;
var items = oEvent.getSource().getBindingContext("keyTable").getObject();
var sPath = oEvent.getSource().getBindingContext("keyTable").getPath();
var sPath1 = sPath.split("/");
var x = parseInt(sPath1[2]) + 1;
var name =items.NAME;
var empid=items.EMPID;
var newData = {
NAME:name,
EMPID: empid};
that.getView().getModel("keyTable").setProperty(sPath, newData);
}
尝试类似oEvent.getParameters(“ newValue”)或oEvent.mParameters.newValue之类的东西。如果要保留此上下文,请不要使用它,例如:
error: function (oError) {
this._resetViewModel();
MessageToast.show(oError);
}.bind(this)