我已经集成了ng2智能表。
在action列中,我显示了edit和delete链接。
我想根据列值隐藏删除和编辑链接。如果状态为活动,则需要隐藏编辑和删除链接。
下面是我的设置
settings = {
selectMode: 'multi',
mode: 'external',
hideSubHeader:true,
editable:false,
pager : {
display : true,
perPage:20
},
actions: { add: false, edit: true, delete:true, position:'right'},
edit: {
editButtonContent: '<i class="fa fa-pencil"></i>'
//mode: 'external'
},
delete: {
deleteButtonContent: '<i class="fa fa-trash" aria-hidden="true"></i>',
confirmDelete: true
},
columns: {
id: {
title: 'ID'
},
title: {
title: 'Title'
},
status: {
title: 'Status',
type: "html",
valuePrepareFunction: (value) => {
if(value == 'To be approved') {
return '<span class="unapproved">'+value+'</span>'
} else {
//actions.edit = false;
return '<span class="approved">'+value+'</span>'
}
}
}
}
};
这是我用过的代码
<ng2-smart-table id="ng2_smart" [settings]="settings" [source]="data" (edit)="onEdit($event)" (delete)="onDelete($event, content)" (custom)="onCustom($event)" (userRowSelect)="selectedData($event)"></ng2-smart-table>
最佳答案
使用全局布尔变量初始化它,由状态栏显示/隐藏。并在动作对象中使用。请在下面的代码中尝试此操作
var isEditOrDelete=true;
settings = {
selectMode: 'multi',
mode: 'external',
hideSubHeader:true,
editable:false,
pager : {
display : true,
perPage:20
},
actions: { add: false, edit: isEditOrDelete , delete:
isEditOrDelete, position:'right'},
edit: {
editButtonContent: '<i class="fa fa- pencil"></i>'
//mode: 'external'
},
delete: {
deleteButtonContent: '<i class="fa fa-trash" aria-
hidden="true"></i>',
confirmDelete: true
},
columns: {
id: {
title: 'ID'
},
title: {
title: 'Title'
},
ststus:{
title: 'Status',
type: "html",
valuePrepareFunction: (value) => {
if(value == 'To be approved') {
isEditOrDelete = false;
return '<span class="unapproved">'+value+'</span>'
} else {
isEditOrDelete = true;
return '<span class="approved">'+value+'</span>'
}
}
}
}
};
关于angular - ng2智能表如何根据列值隐藏删除图标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47966752/