如何在Extjs网格中禁用删除图标

如何在Extjs网格中禁用删除图标,extjs,Extjs,我有一个来自extjs的示例代码,该操作是一个列的多列的一部分,我在其中编辑、删除、复制。我想基于另一个字段值禁用删除图标。我还有一个名为IS_USED的列,它返回true/false。如果“使用”为真,则“删除”按钮应禁用。 我试图在操作中编写处理程序,但不起作用。 我是extjs新手,任何帮助或解决方法都是值得赞赏的 action: { iconCls: 'x-icon-cross-on', text: terms.del, url: url.destroy, useA

我有一个来自extjs的示例代码,该操作是一个列的多列的一部分,我在其中编辑、删除、复制。我想基于另一个字段值禁用删除图标。我还有一个名为IS_USED的列,它返回true/false。如果“使用”为真,则“删除”按钮应禁用。 我试图在操作中编写处理程序,但不起作用。 我是extjs新手,任何帮助或解决方法都是值得赞赏的

action: {
  iconCls: 'x-icon-cross-on',
  text:  terms.del,
  url:   url.destroy,
  useAjax: true,
  confirm: terms.confirm,
  handler: function(grid, record, action, domEl, response) {
    if ( !response.success) {
      test.ui.Msg.flash(response.message, test.ui.Msg.ERR);
      javascript.scroll(0,0);
    } else {
      test.ui.Msg.success(response.message);
      grid.getStore().reload();
    }
  }
}

最佳实践是直接根据记录值将“disabled”属性绑定到按钮。 首先,将viewModel:true设置为网格

{
   xtype: 'grid',
   //add this below
   itemConfig:{
     viewModel:true
   },
   //....others props like columns, with,etc....
最后,在按钮中添加以下内容:

action: {
  iconCls: 'x-icon-cross-on',
  //add this
  bind:{
        disabled:"{record.IS_USED}"  //the logic is placed here
  },
  //.....other props....
您还可以使用此技巧绑定任何其他可绑定属性,如隐藏、文本等


希望这能对您有所帮助。

这能回答您的问题吗?