Манипулировать данными редактора - PullRequest
0 голосов
/ 21 апреля 2020
  settings = {
    actions: {
      add: true,
      edit: false,
      delete: false
    },
    add: {
      addButtonContent: '<i class="nb-plus"></i>',
      createButtonContent: '<i class="nb-checkmark"></i>',
      cancelButtonContent: '<i class="nb-close"></i>',
      confirmCreate: true
    },
    columns: {
      company: {
        title: 'Company',
        type: 'html',
        valuePrepareFunction: (data) => { return '<div align="center"><img src=' + data.logo + ' alt="' + data.id + '"></img></div>'; },
        width: '10%',
        editable: false,
        filter: false,
        editor: {
          type: 'custom',
          component: CustomListEditorComponent,
          config: {
            list: [{id: 1, name: 'Company 1', logo: 'assets/pictures/logo1'}, {id: 2, name: 'Company 2', logo: 'assets/pictures/logo2'}]
          }
        }
      },
      firstName: {
        title: 'First Name',
        type: 'string',
        editor: {
          type: 'text',
        }
      },
      lastName: {
        title: 'Last Name',
        type: 'string',
        editor: {
          type: 'text'
        }
      }
    },
    pager: {
      display: true,
      perPage: 50
    }
  };

    onCreateConfirm(event): void {
    if (!event.newData.firstName || !event.newData.lastName || !event.newData.company) {
      this.toastrService.danger('Missing mandatory fields', 'Error');
    } else {
      let newEmployee = {
        name: event.newData.firstName,
        surname: event.newData.lastName,
        commonname: event.newData.company
      };
      this.createEmployee(newEmployee);//API call to create employee in DB
      this.refreshTable();//API call to refresh table


      //I want to keep 'Company' editor cell selected value and clear 'firstName' and 'lastName' text input fields, so I can continue adding employees for the same company 
    }
  }

Здравствуйте, у меня следующий вопрос: так как у меня есть defaultCreate = true и режим таблицы = встроенный по умолчанию, я выполняю создание строки с помощью метода onCreateConfirm.

Там я делаю свой API вызывает logi c для добавления информации в БД и последующего обновления источника таблицы. Что я хочу сделать дальше, когда сценарий будет успешно завершен, так это сохранить редактор вместо того, чтобы скрывать его (как вы это сделаете, если разрешите разрешить отложенный объект event.confirm в onCreateconfirm), но сбросить некоторые поля (в в этом случае происходит сброс параметров firstName и lastName при сохранении выбора, сделанного в поле компании), поэтому я могу продолжать добавлять дополнительные строки, не нажимая кнопку «Добавить», а затем снова выбирая ту же компанию.

Мой вопрос заключается в том, Находясь в методе onCreateConfirm, как я могу манипулировать данными, которые мы имеем в ячейке редактора каждого поля таблицы, чтобы я мог легко очистить ввод этих полей, которые я хочу?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...