我有一个简单的ExtJS树。一切正常。在API中,我看到我可以通过覆盖它来更改标题和其他标签。这是API link
Ext.require(['*']);
var path = "";
Ext.onReady(function () {
Ext.define('My.Tree', {
extend: 'Ext.tree.Panel',
id: 'DriveTree',
title: 'File Manager',
width: 500,
height: 650,
store: storeTree,
rootVisible: true,
renderTo: 'tree-div',
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop',
appendOnly: true
}
},
useArrows: true,
dockedItems: [{
xtype: 'toolbar',
items: [{
text: 'REFRESH', // MULTI LANGUAGE
id: 'connectButton'
},
{
text: 'CHOOSE', // MULTI LANGUAGE
handler: function () {
Ext.Ajax.request({
url: '/test.json',
success: function (response, opts) {
Ext.MessageBox.alert('text', 'text'); // multi language
}
});
}
}]
}]
});
var tree = Ext.create('My.Tree', {});
});
我创建了另一个JS文件并覆盖了我的树。
Ext.define('My.Tree', {
override: 'Ext.tree.Panel',
title: 'new NAME',
});
但这不起作用。我需要覆盖 Ext.MessageBox.alert 的文本。我能这样做吗?
当我从My.Tree面板中删除标题时,它可以正常工作。
答案 0 :(得分:1)
因为你重写了tree.Panel,而不是你的子类。因此,title
上的My.Tree
优先,因为您覆盖Ext.tree.Panel
。
相反:
Ext.define('MyApp.locale.fr.Tree', {
override: 'My.Tree',
title: 'Bonjour'
});