0

对于添加一行后的 ng2-smart-table,表中显示的数据为空,但我可以编辑空行并保存,也可以删除。

event.newData中显示的数据为空

(createConfirm)="onCreateConfirm($event) -->不工作

(editConfirm)="onSaveConfirm($event) --> 没问题

(deleteConfirm)="onDeleteConfirm($event) --> 没问题

表格中的空行

希望有人可以帮助提前谢谢你

  1. .html

    <ng2-smart-table
     [settings]="settings" 
     [source]="source"
     (deleteConfirm)="onDeleteConfirm($event)" 
     (editConfirm)="onSaveConfirm($event)"
     (createConfirm)="onCreateConfirm($event)">
    </ng2-smart-table>

  1. .ts

        data = [];

        settings = {
        add: {
        addButtonContent: '<i class="nb-plus"></i>',
        createButtonContent: '<i class="nb-checkmark"></i>',
        cancelButtonContent: '<i class="nb-close"></i>',
        confirmCreate: true,
        },
        edit: {
          confirmSave: true,
          editButtonContent: '<i class="nb-edit"></i>',
          saveButtonContent: '<i class="nb-checkmark"></i>',
          cancelButtonContent: '<i class="nb-close"></i>',

        },
        delete: {
          confirmDelete: true,
          deleteButtonContent: '<i class="nb-trash"></i>',

        },
        columns: {
          jobProcessId: {
            title: 'ID',
            type: 'number',
            width: '100px',
          },
          processName: {
            title: 'Job Process Name',
            type: 'string',

          },
          processDescription: {
            title: 'Job Process Description',
            type: 'string',
            width: 'auto',

          },
        },
      };

      source: LocalDataSource = new LocalDataSource();
      constructor(private jobProcess: JobProcessService) {

        this.jobProcess.list().subscribe((res: any[]) => {
          this.data = res;
          console.log(this.data);
          this.source.load(this.data);
        } );

      }

      ngOnInit() {
      }

      onCreateConfirm(event) {
        console.log(event.newData);
        if (window.confirm('Are you sure you want to create?')) {
          event.confirm.resolve();
        } else {
          event.confirm.reject();
        }
      }
      onDeleteConfirm(event) {
        if (window.confirm('Are you sure you want to delete?')) {
          event.confirm.resolve();
        } else {
          event.confirm.reject();
        }

      }

        onSaveConfirm(event) {
        if (window.confirm('Are you sure you want to save?')) {
            event.confirm.resolve();
          } else {
            event.confirm.reject();
          }
      }

4

1 回答 1

0

将其用于您的 html

 <ng2-smart-table [settings]="settings" [source]="source" 
(createConfirm)="onCreateConfirm($event)"

(deleteConfirm)="onDeleteConfirm($event)"
(editConfirm)="onSaveConfirm($event)">

 </ng2-smart-table>

*成分*

settings = {delete: {
  confirmDelete: true
},
add: {
  confirmCreate: true
},
edit: {
  confirmSave: true
},
 .......
}
source: LocalDataSource;
 constructor() {
this.source = new LocalDataSource(this.data);
}
 onDeleteConfirm(event):void {
 if (window.confirm('Are you sure you want to delete?')) {



  event.confirm.resolve(); 
  } else {
event.confirm.reject();
 }

}

onSaveConfirm(event):void {
  if (window.confirm('Are you sure you want to save?')) {
 event.newData['name'] += ' + added in code'; 
 event.confirm.resolve(event.newData);
 } else {
 event.confirm.reject();
}
  onCreateConfirm(event):void { 
  event.confirm.resolve(event.newData);
  }











  




 
 

 
于 2019-07-05T06:37:03.237 回答