如何使用本地化概念更改按钮文本?
Ext.define("iPolis.view.login", {
extend: 'Ext.form.Panel',
requires: [
'Ext.TitleBar',
'Ext.form.FieldSet',
'Ext.field.Password',
'Ext.field.Text',
'Ext.field.TextAreaInput',
],
id:'loginPanel',
loginText:'Login',
xtype:'login',
.
.
.
items: [{
xtype: 'button',
cls: 'btn',
text: this.loginText,
id:'loginbtn',
handler: function() {
}
]
});
我的localization.js是这样的:
if(Ext.form.Panel) {
Ext.override(Ext.form.Panel,{
loginText:'iniciarsession'
});
}
我得到一个空白按钮。请让我知道必须做些什么。
答案 0 :(得分:2)
我用这种方式,它对我有用
var Messages = {
username: 'Benutzername',
password: 'Passwort'
login: 'iniciarsession'
}
并在按钮定义中:
{
xtype: 'passwordfield',
id: 'pwd',
placeHolder:'Password',
label:Messages.password
},
{
xtype: 'button',
cls: 'btn',
text:Messages.login,
id:'loginbtn',
}
答案 1 :(得分:0)
您已使用loginText
作为按钮文字,但在覆盖它时您已使用login
所以它应该是
Ext.override(Ext.form.Panel,{
loginText: 'iniciarsession'
});
答案 2 :(得分:0)
您不应该使用Ext.override
,因为它已在Sencha Touch 2中弃用。
要实现您的需求,请尝试以下方法:
Ext.getCmp('loginPanel').loginText = 'my new value'
如果不起作用,请改用:
Ext.getCmp('loginPanel').config.loginText = 'my new value'
希望它有所帮助。