I created this fiddle: https://fiddle.sencha.com/#view/editor&fiddle/3mh2. If you run it, you'll see you cannot resize the textarea even though it has the property resizable: true.
Ext.application({
name: 'Fiddle',
launch: function () {
var shows = Ext.create('Ext.data.Store', {
fields: ['id', 'show'],
data: [{
id: 0,
show: 'Battlestar Galactica'
}, {
id: 1,
show: 'Doctor Who'
}, {
id: 2,
show: 'Farscape'
}, {
id: 3,
show: 'Firefly'
}, {
id: 4,
show: 'Star Trek'
}, {
id: 5,
show: 'Star Wars: Christmas Special'
}]
});
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
title: 'Sci-Fi Television',
width: 400,
frame: true,
resizable: true,
items: [{
xtype: 'tagfield',
fieldLabel: 'Select a Show',
store: shows,
displayField: 'show',
valueField: 'id',
queryMode: 'local',
filterPickList: true
},
{
xtype: 'textareafield',
resizable: true,
fieldLabel: 'Some label',
anchor: '100%',
//resizeHandles: 's',
//grow: true
}]
});
}
});
What am I missing?
To make things more interesting, I took a look at the docs: https://docs.sencha.com/extjs/7.6.0/classic/Ext.form.field.TextArea.html.
I modified the sample to:
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%',
resizable: true,
}]
});
(I added the resizable: true, line)
If I click the Run button and I hover the mouse over I get the gray bars.
On the other form, no matter where I hover the mouse the gray bars don't show up.
But... if I include grow: true I am getting some weird mix up in the UI - the gray bars show up eventually, but the position is incorrect.
How can I get this form to look correct, and still be able to resize the textarea. Resizing the textarea just vertically would suffice.


You can get this working in a few steps:
vboxlayout for the form panel (align: 'stretch'is needed to stretch the form fields horizontally when you resize the panel).textareafieldinto acontainerwithfitlayout and setresizableon the container and not on the textarea.resizerif instead oftrueyou use an object which defines anExt.resizer.Resizer, check documentation for all config options (pinnedmight be a good idea to show the resize handler always).As for step 2, I can't tell you for sure why it is not working without the container, but according to the documentation linked abocve,
textarearesizer is somewhat different, this could be the reason but I can only guess:One drawback of this solution is that the resize handle appears not only below the
textareabut the entire container, but this is as far as I could get. I triedlabelAlign: 'top'on thetextareabut it adds some space below the label when resizing.