ExtJS让第二个form.TextArea在第一个form.TextArea增长时增长

ctrmrzij  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(115)

我创建了一个Ext应用程序,它不运行。但这不是这个问题的重点。我的问题是:对于给定的两个文本区域,当第一个文本区域增长时,我希望增长第二个文本区域

Ext.application({
name : 'Fiddle',

launch : function() {
    Ext.create('Ext.form.TextArea', {
        renderTo: Ext.getBody(),
        width: 500,
        grow: true,
        id: 'm1',
    });

Ext.create('Ext.form.TextArea', {
        renderTo: Ext.getBody(),
        width: 500,
        grow: true,
        id: 'm2',
    });
},
});

我在想:

bind: {
height: '{m1.height}',
}

但在尝试时,这没有奏效。
然后我想:

var el = Ext.get("m1");
 var e2 = Ext.get("m2");
 e2.setHeight(e1.getHeight());

然后我的一个朋友建议使用resize事件侦听器。
知道如何更改绑定以使其工作吗?
用上面的代码链接到小提琴:https://fiddle.sencha.com/#view/editor&fiddle/3k6s

a0x5cqrl

a0x5cqrl1#

像这样吗?

Ext.create('Ext.form.FormPanel', {
title: 'Sample TextArea',
width: 400,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
    xtype: 'textareafield',
    grow: true,
    name: 'message',
    fieldLabel: 'Message',
    anchor: '100%',
    grow: true,
    listeners: {
        resize: function(textArea, width, height) {
            textArea.nextSibling().setHeight(height)
        }
    }
}, {
    xtype: 'textareafield',
    grow: true,
    name: 'message',
    fieldLabel: 'Message',
    anchor: '100%',
    grow: true,
}]

});

相关问题