[英]Update Grid Panel on Tab Switch in ExtJS
我有兩個單獨的選項卡(選項卡 A 和選項卡 B)。 這兩個選項卡共享一個存儲,每個存儲在各自的索引中。 [0] - A
和[1] - B
。
我的控制器在單擊其菜單葉時初始化負載,例如:
oMe.control({
'#role-permission-grid-panel': {
edit: oMe.save,
beforerender: oMe.loadData,
},
'#roles-applicationtype button': {
click: oMe.filterByApplication
}
});
applicationtype button
是加載數據的選項卡切換發生的過濾器。
當試圖捕捉當前過濾器的值時,控制器成功顯示點擊了哪個。 但是,這不再刷新網格面板數據。
SampleGridPanel /視圖:
console.log('Application',oController.sDefaultToggle);
簡單地說,我從SampleController
更新數據,並嘗試通過調用filterApplication
從我的SampleGridPanel
捕獲它。 由於initComponent
我的SampleGridPanel
僅加載一次商店。 我想將更新的數據(在這種情況下是選定的選項卡)從controller
傳遞到view
。 當我的視圖僅識別初始加載數據時,如何通知我的視圖發生了此更改?
我也有點糊塗了。 在我的控制器,打電話時oMe.loadData
beforerender
,它知道最后一個標簽式的值,但是當我打電話oMe.loadData
從自定義過濾功能,它不再重新加載整個商店。 它僅根據過濾器值加載過濾后的信息。
您可以收聽 tabpanel 的activate
和deactivate
事件。 這些也可以在舊版本的 ExtJS 中使用。
如果你使用 ExtJS 6,你真的應該考慮使用ChainedStore
。
請注意,從 ExtJS 6.0.1 開始,當將ChainedStore
與GroupingFeature
或CellEditing
結合使用時,ExtJS 中存在一些錯誤。 這些應該在 ExtJS 6.0.2 中修復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.