我已经集成了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/

10-11 22:43
查看更多