一个小白刚刚入手extjs求大佬教教怎么写
参考GPT和自己的思路:
对于这个问题,可以通过 Ext 的事件监听器来实现。具体实现步骤如下:
在下拉框的触发器监听事件上添加一个 select
事件,当下拉框的选项改变时触发该事件。
在事件中获取选中的值,根据选中的值来显示或隐藏相应的文本框。可以通过 Ext.getCmp()
方法获取文本框组件,并设置其 hidden
属性来实现显示或隐藏。
最后在初始化时对文本框进行隐藏,避免在页面加载时全部显示出来。
以下是参考代码实现:
Ext.onReady(function(){
var comboBox = Ext.create('Ext.form.ComboBox', {
fieldLabel: '请选择',
store: [['1', '选项1'], ['2', '选项2'], ['3', '选项3']],
listeners: {
select: function(combo, records) {
var value = records[0].get('value');
var box1 = Ext.getCmp('box1');
var box2 = Ext.getCmp('box2');
if(value === '1') {
box1.show();
box2.hide();
} else if(value === '2') {
box1.hide();
box2.show();
} else {
box1.hide();
box2.hide();
}
}
}
});
var box1 = Ext.create('Ext.form.TextField',{
id: 'box1',
fieldLabel: '选项1',
hidden: true
});
var box2 = Ext.create('Ext.form.TextField',{
id: 'box2',
fieldLabel: '选项2',
hidden: true
});
var form = Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
title: '隐藏/显示文本框示例',
width: 400,
items: [comboBox, box1, box2]
});
});
希望这个回答能对你有所帮助。