gpt4 book ai didi

extjs - 带有子项的自定义组件 : it's possible to change child configs?

转载 作者:行者123 更新时间:2023-12-02 00:07:10 26 4
gpt4 key购买 nike

我想看看用子元素创建自定义组件是否是个好方法。在我的大多数表单中,我会让一些字段水平对齐,大小相同。

虽然我的第一个是创建一个自定义 FieldContainer 并且已经声明了我现在将存在的项目,但是我不想在这个扩展类中设置他的名字和 ID。我想让最后一个类(class)对此负责,也许还有子项目的更多属性。

那么,可以在将使用我的自定义组件的类中定义配置的子项吗?

例子

Ext.define('MyApp.view.LookupContainer', {
extend: 'Ext.form.FieldContainer',

layout: {
type: 'column'
},
labelAlign: 'right',

initComponent: function() {
var me = this;

Ext.applyIf(me, {
items: [
{
xtype: 'numberfield',
columnWidth: 0.15,
width: 70,
labelWidth: 0,
maxValue: 99999,
minValue: 0
},
{
xtype: 'textfield',
columnWidth: 0.75,
margin: '0 0 0 5',
readOnly: true
},
{
xtype: 'button',
cls: 'x-formButton',
margin: '0 0 0 5',
overCls: 'x-formButtonOver',
iconCls: 'icon-lov'
},
{
xtype: 'button',
margin: '0 0 0 5',
iconCls: 'icon-program'
}
]
});

me.callParent(arguments);
}

});

Ext.onReady(function() {
var container = Ext.create('MyApp.view.LookupContainer');
//how to set the items properties here?
});

最佳答案

只需为每个具有不同属性名称的项目创建自定义属性,然后在组件实际配置和初始化时应用您想要的任何属性:

Ext.define('MyApp.view.LookupContainer', {
extend: 'Ext.form.FieldContainer',

theNumberField: null,
theTextField: null,
theButton1: null,
theButton2: null,

layout: {
type: 'column'
},
labelAlign: 'right',

initComponent: function() {
var me = this;

var formNumberField = Ext.apply(
{
xtype: 'numberfield',
columnWidth: 0.15,
width: 70,
labelWidth: 0,
maxValue: 99999,
minValue: 0
}, me.theNumberField || {});

var formTextField = Ext.apply(
{
xtype: 'textfield',
columnWidth: 0.75,
margin: '0 0 0 5',
readOnly: true
}, me.theTextField || {});

var formButton1 = Ext.apply(
{
xtype: 'button',
cls: 'x-formButton',
margin: '0 0 0 5',
overCls: 'x-formButtonOver',
iconCls: 'icon-lov'
}, me.theButton1 || {});

var formButton2 = Ext.apply(
{
xtype: 'button',
margin: '0 0 0 5',
iconCls: 'icon-program'
}, me.theButton2 || {});

Ext.applyIf(me, {
items: [
formNumberField,
formTextField,
formButton1,
formButton2
]
});

me.callParent(arguments);
}

});

关于extjs - 带有子项的自定义组件 : it's possible to change child configs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17619524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com