Как сбросить значение из массива, нажав на кнопку? - PullRequest
1 голос
/ 26 сентября 2019

Я использую Tabulator для генерации таблицы.Когда щелкают ячейку таблицы, я помещаю значения ячейки в массив, начальное значение для каждого элемента в массиве - «0».Я хотел бы реализовать кнопку сброса, которая будет сбрасывать назначенное значение на «0». Нажмите на кнопку сброса или в любом месте окна.

component.ts

 names = [{name: first, val: void 0},{name: second, val: void 0}]

 tabulatorColumnName = [{title: firstTitle, field: firstField, cellClick: 
                          this.getValue.bind(this)}
                        {title: secondTitle, field: secondField, 
                          cellClick:this.getValue.bind(this)}]

Предполагая, что есть только одна строка данных, следующая функция отправляет данные firstField и secondField в names [0] .val и names [1] .val.

     getValue(e, row) {
          this.names[0].val = row.getData().firstField
          this.names[1].val = row.getData().secondField

     }

component.html

Я хочу реализовать функцию или кнопку, которая будет очищать значение [(ngmodel)], когда пользователь щелкает в любом месте окна иликнопка.

 <form (ngSubmit)="saveChild(sideToggleForm)" 
  #sideToggleForm="ngForm">
  <div *ngFor="let name of names">
    <div class="{{ name.type }}">
      <small>{{ name.label }}</small>
      <mat-form-field class="full-width" appearance="outline">
        <input
          name="{{ name.name }}"
          matInput
          [(ngModel)]="name.val"
        />
      </mat-form-field>
    </div>
  </div>
</form>

1 Ответ

3 голосов
/ 26 сентября 2019

Добавить кнопку в ваш HTML,

<button (click)="resetNameValues()">Reset</button>

Определить функцию в TS,

resetNameValues(){
    // Iterate over name array and set val to 0
    this.names.forEach(
        name => name.val=0
    )
}
...