【问题标题】:Changing initial property of the component更改组件的初始属性
【发布时间】:2014-03-18 15:21:54
【问题描述】:

我有一个numberfield,我将maxLength 属性设置为enforceMaxLength。结果,该字段不接受超过maxLength 的值,到目前为止一切顺利。

我想根据其他组件值更改此maxLength 属性。我尝试了几种方法但没有成功(它正在设置值但没有工作)。

问题是,如何在渲染后更改组件的初始属性?

{
    xtype: 'combobox',
    fieldLabel: 'PROMOSYON TİPİ',
    name: 'PROMO_TYPE',
    id: 'promo_type',
    displayField: 'PROMO_TYPE_NAME',
    valueField: 'PROMO_TYPE_VALUE',
    store: promoType,
    queryMode: 'local',
    inputWidth: 250,
    labelWidth: '280px',
    margin: '0 0 15 0',
    listeners: {
        change: function(cb,nv) {
            if (nv != 0 || nv != 2) {
                var pd = Ext.getCmp('promo_disc');
                Ext.apply(pd, {maxLength: 8});
            }
        }
    }
},
{
    xtype: 'numberfield',
    name: 'PROMO_DISCOUNT',
    fieldLabel: 'PROMOSYON İNDİRİMİ',
    id: 'promo_disc',
    inputWidth: 250,
    labelWidth: '280px',
    margin: '0 0 15 0',
    maxLength: 3,
    enforceMaxLength: true,
    minValue: 0
}

【问题讨论】:

  • 设置maxLength 将向组合框的<input> 标记添加一个名为maxlength 的属性。因此,您可以获得<input> 标记并将maxlength 属性的值设置为您想要的值。或者,您可以销毁现有的 ext 组件,并使用新的 maxLength 创建一个新的组合框。

标签: extjs extjs4.2


【解决方案1】:

基于@forgivenson的想法,我做了以下方式。

{
    xtype: 'combobox',
    fieldLabel: 'PROMOSYON TİPİ',
    name: 'PROMO_TYPE',
    id: 'promo_type',
    displayField: 'PROMO_TYPE_NAME',
    valueField: 'PROMO_TYPE_VALUE',
    store: promoType,
    queryMode: 'local',
    inputWidth: 250,
    labelWidth: '280px',
    margin: '0 0 15 0',
    listeners: {
        change: function(cb,nv) {
            if (nv != 0 || nv != 2) {
                    // promo_disc-inputEl is an ID for <input> element
                    Ext.get('promo_disc-inputEl').set({maxlength: 8});
            }
        }
    }
},
{
    xtype: 'numberfield',
    name: 'PROMO_DISCOUNT',
    fieldLabel: 'PROMOSYON İNDİRİMİ',
    id: 'promo_disc',
    inputWidth: 250,
    labelWidth: '280px',
    margin: '0 0 15 0',
    maxLength: 3,
    enforceMaxLength: true,
    minValue: 0
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    相关资源
    最近更新 更多