extjs - 带有小部件作为按钮的 Extjs 小部件列
问题描述
我有一种情况,当我收到一个 Web 套接字事件时,我需要禁用按钮(添加为小部件列的小部件)。收到网络套接字时,我可能在任何页面中。那么如何获取该按钮小部件的引用并禁用它。我创建了一个小提琴 WidgetTestFiddle 任何人都可以帮忙。提前致谢
解决方案
我认为有几种方法可以实现您想要的结果。
KaMuns 答案会起作用,但如果您使用缓冲存储/网格,可能会很棘手。因为这种情况下的页面是由商店内部处理的。在这种情况下,使用静态 itemId 开箱即用是行不通的。
我建议你依靠记录数据。
每次您收到 websocket 消息时,都可以选择更新商店并刷新网格视图。
我在这里修改了你的小提琴:
这是最相关的部分:
var grid = btn.up('grid');
var models = grid.getStore().getData().getRange(); // of cause you can use find or another way here
var model = models.filter(mod => mod.get('actualRole') === 'Follower');
model[0].set('showBtn', false);
grid.getView().refresh(); // get ref to view and refresh because data changed
在顶部,您可以查看 defaultBindProperties 并可以将其更改为按钮的隐藏键。
推荐阅读
- python - 如何在数据框python中使用日期时间间隔列插入值
- php - 如何使用php获取数组中的月份列表
- python - 没有这样的文件或目录:'C:/Users/joaom/Downloads/ABCB' 但它存在
- android-studio - Android Studio 在打开几分钟后就崩溃了
- swift - 来自 API 调用的 Literal 中的无效转义序列
- r - 在这个自定义函数中使用 force() 和 print() 的区别
- odoo - 安装 odoo 15 时出现导入错误
- regex - sed 删除选择字符和第一次出现字符之前的所有内容
- spring - 带有 Spring Boot 2.5.x 的 Azure AppConfiguration
- javascript - Dash.js 质量选择器 Mpeg