EXTJS 本地化(覆盖类)
Posted
技术标签:
【中文标题】EXTJS 本地化(覆盖类)【英文标题】:EXTJS localization (override classes) 【发布时间】:2013-10-21 08:24:09 【问题描述】:我有一个简单的 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 面板中删除标题时,它可以工作。
【问题讨论】:
如果我删除例如“标题:'文件管理器'”,它就可以工作! 【参考方案1】:因为您要覆盖 tree.Panel,而不是您的子类。所以My.Tree
上的title
优先,因为你覆盖了Ext.tree.Panel
。
改为:
Ext.define('MyApp.locale.fr.Tree',
override: 'My.Tree',
title: 'Bonjour'
);
【讨论】:
谢谢!请看我最后的评论问题:***.com/questions/19491117/…以上是关于EXTJS 本地化(覆盖类)的主要内容,如果未能解决你的问题,请参考以下文章