我正在使用Extjs6.0.2创建项目,但是现在当我创建xtype时遇到问题:'namefield'导致这种类型的xtype在Android上受支持,但不支持iOS设备,但是我希望我能找到解决方案,我该怎么办通过使用xtype。

lookupReference('txtPhoneNo').setConfig('xtype','numbercode')此代码替换为main.js

{

            xtype:'fieldset',
            items:[{

                minLength: 9,
                maxLength: 10,
                xtype: 'textcode',
                cls: 'acledaTxt',
                itemId: 'txtPhoneNo',
                id: 'phonNo' ,
                reference: 'txtPhoneNo',

            }]

        },

最佳答案

您不能更改组件xtype运行时。

相反,您可以创建两个组件,然后使用隐藏或显示正确的组件

if (Ext.os.is.iOS) {
    // iPad, iPod, iPhone, etc.
}


或者您可以像这样以动态方式创建组件:

var xtype='';
if (Ext.os.is.iOS) {
    xtype='IOSXTYPE'
}else if(Ext.os.is.Android){
    xtype='AndroidXTYPE'
}
var component= Ext.create({
    xtype:xtype
});

10-07 17:28