【问题标题】:ng2 smart table how to hide the delete icon depending on column valueng2智能表如何根据列值隐藏删除图标
【发布时间】:2017-12-25 16:24:22
【问题描述】:

我已经集成了 ng2 智能表。

在操作列中,我显示了编辑和删除链接。

我想根据列值隐藏删除和编辑链接。如果状态为活动,则需要隐藏编辑和删除链接。

以下是我的设置

    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>

【问题讨论】:

  • 试试&lt;i *ngIf="status == 'active' " class="fa fa-trash" aria-hidden="true"&gt;&lt;/i&gt;
  • @Sam 你有解决这个问题的办法吗?我也面临同样的问题。
  • 以上答案不适用于多数据。所以试试吧。stackoverflow.com/questions/50817642/…

标签: angular typescript


【解决方案1】:

使用全局布尔变量将其初始化为按状态列显示/隐藏。并在动作对象中使用它。试试下面的代码

 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>'  
             }
           }
        }
      }
    };

【讨论】:

  • 我试过这个。但不工作。对于每条记录,状态值都会更改。有些记录“已批准”,有些“待批准”。如果是这样,isEditOrDelete 变量是什么?
猜你喜欢
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-26
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
相关资源
最近更新 更多