用消息Extjs mask()

时间:2013-11-28 10:32:06

标签: extjs charts

我可以使用:chart.mask()然后chart.unmask()来掩盖()然后取消屏蔽()图表之前和之后的图表。

但我想在屏蔽时添加加载消息,我该怎么办呢?我正在使用Extjs 4.1和MVC。

1 个答案:

答案 0 :(得分: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');
}

同样取消屏蔽。检查元素是否仍然存在将更加重要,因为在加载完成之前组件被销毁的可能性(例如窗口或标签关闭)更大。