1

如何使用本地化概念更改按钮文本?

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'


});
}

我得到一个空白按钮。请让我知道必须做什么。

4

3 回答 3

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',

                }
于 2012-04-13T03:39:33.513 回答
0

您已用作loginText按钮文本,但在覆盖它时您已使用login

所以应该是

Ext.override(Ext.form.Panel,{
    loginText: 'iniciarsession'
});
于 2012-04-12T10:00:25.773 回答
0

您不应该使用Ext.override它,因为它在 Sencha Touch 2 中已被弃用。

要实现您的需要,请尝试以下操作:

Ext.getCmp('loginPanel').loginText = 'my new value'

如果它不起作用,请改用它:

Ext.getCmp('loginPanel').config.loginText = 'my new value'

希望能帮助到你。

于 2012-04-12T10:49:07.223 回答