0
我能夠在使用以下函數呈現前後遮罩()然後取消遮罩()圖表:chart.mask()
then chart.unmask()
。Extjs mask()與消息
但我想添加一個加載消息,當它被屏蔽時,我該怎麼做?我使用MVC的Extjs 4.1。
我能夠在使用以下函數呈現前後遮罩()然後取消遮罩()圖表:chart.mask()
then chart.unmask()
。Extjs mask()與消息
但我想添加一個加載消息,當它被屏蔽時,我該怎麼做?我使用MVC的Extjs 4.1。
Ext.Component
(圖表繼承)和Ext.dom.Element
都有mask
方法。但Ext.dom.Element
的one接受msg
參數。
這意味着你可以達到你想要這樣的代碼是什麼:
chart.el.mask('My message');
現在有一對夫婦更多的事情要考慮。
最重要的是確保在調用mask
方法之前定義元素。實際上,由於可能的負載延遲或呈現延遲,可能會發生某些事件或方法在已銷燬或尚未呈現的組件上調用。
第二件事是用這種方法,默認情況下你不會有加載CSS類。如果需要,可以將它作爲mask
的第二個參數傳遞;該班級是'x-mask-loading'
。
與所有的代碼,而應該是這樣的:
var maskEl = chart.getMaskTarget() // this one's marked as private... maybe we shouldn't use it
|| chart.getEl();
if (maskEl) {
maskEl.mask("Loading...", Ext.baseCSSPrefix + 'mask-loading');
}
取消屏蔽與此類似。檢查元素是否仍然存在將更加重要,因爲在加載完成之前組件已被銷燬(例如窗口或製表符關閉)的機會甚至更大。