如何为 ng2-smart-table 添加新的自定义按钮

ruw*_*age 1 typescript ng2-bootstrap angular

ng2-smart-table在我的项目中用作表格。您可以在下面看到它。

在此处输入图片说明

但是我想view在表格的每一行的末尾添加一个为此命名的自定义按钮。以及我想在单击view按钮时打开一个新组件。那么我应该为此做什么。我尝试如下。但不是成功。

add: {
  addButtonContent: '<i class="nb-plus"></i>',
  createButtonContent: '<i class="nb-checkmark"></i>',
  cancelButtonContent: '<i class="nb-close"></i>',
  confirmCreate: true
},
edit: {
  editButtonContent: '<i class="nb-edit"></i>',
  saveButtonContent: '<i class="nb-checkmark"></i>',
  cancelButtonContent: '<i class="nb-close"></i>',
  confirmSave: true
},
delete: {
  deleteButtonContent: '<i class="nb-trash"></i>',
  confirmDelete: true
},
view:{
  viewButtonContent:''
},
Run Code Online (Sandbox Code Playgroud)

ult*_*tex 6

像这样定义设置。


settings = {
    columns: {
      name: {
        title: 'Title',
      },
      description: {
        title: 'Description',
      },

      customColumn: {
        title: 'Actions',
        type: 'custom',
        filter: false,
        renderComponent: MyCustomComponent,
        onComponentInitFunction(instance) {
          //do stuff with component
          instance..subscribe(data=> console.log(data))
          }
   ...
Run Code Online (Sandbox Code Playgroud)

并像这样定义新的按钮组件,


@Component({
  selector: 'll-button-comp',
  template: ` <button (click)="click.emit(rowData)"> my button</button> `
})

export class MyCustomComponent implements OnInit{
  @Input() rowData: any;
  @Output() click:EventEmitter<any> = new EventEmitter(this.rowData);


  ngOnInit(){

  }
}
Run Code Online (Sandbox Code Playgroud)

请注意,rowData(所选行的对象)将传递给该实例所属的行的组件