如何为 ng2-smart-table 添加新的自定义按钮
How to add a new custom button for ng2-smart-table
我在 project.You 中使用 ng2-smart-table
作为 table 可以在下面看到它。
但是我想为此在 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:''
},
像这样定义设置。
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))
}
...
并像这样定义新的按钮组件,
@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(){
}
}
请注意,rowData
(所选行的对象)被传递给该实例所属行的组件
我在 project.You 中使用 ng2-smart-table
作为 table 可以在下面看到它。
但是我想为此在 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:''
},
像这样定义设置。
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))
}
...
并像这样定义新的按钮组件,
@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(){
}
}
请注意,rowData
(所选行的对象)被传递给该实例所属行的组件