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
2条答案
按热度按时间4szc88ey1#
您可以使用Ext.ComponentQuery。
使用查询方法,您可以在网格中搜索按钮。
您可能希望为按钮指定一个
itemId
(例如itemId:'widgetcolumn-button-switch'),以确保您只找到所需的按钮。使用
itemId
,您的搜索查询将如下所示:'button[itemId="widgetcolumn-button-switch"]'
我用你的小提琴做了一个我自己的版本来说明我的观点: Sencha 小提琴示例
k2arahey2#
我认为有几种方法可以达到你想要的结果。
KaMun的答案是可行的,但是在使用缓冲存储/网格的情况下可能会比较棘手。因为这种情况下的页面是由存储内部处理的。在这种情况下,使用静态itemId是不可行的。
我建议你依靠记录数据。
每次收到WebSocket消息时,可以选择更新存储和刷新网格视图。
我已经修改了你的小提琴:
以下是最相关的部分:
在顶部,您可以查看defaultBindProperties,并可以将其更改为按钮的隐藏键。