sap.m.table имеет json таблица привязок имеет поле ввода, как захватить запись ввода - PullRequest
0 голосов
/ 23 марта 2020

У меня есть таблица с n количеством предметов. Это используется как Предмет во время операции глубокого создания. В этой таблице нет режима множественного выбора. Первоначально таблица связывается с данными модели 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);


  }

1 Ответ

0 голосов
/ 23 марта 2020

попробуйте что-то вроде oEvent.getParameters ("newValue") или oEvent.mParameters.newValue. Не используйте это, если вы хотите сохранить этот контекст, например:

error: function (oError) {
                    this._resetViewModel();
                    MessageToast.show(oError);
                }.bind(this)
...