1

light

I am using visualforce page with inputfield, I have field segment which is of type 'long text', that corner button on down right corner of input field(refer above image), we can click and drag both width and height in classic, but in LEX only height is changing. Can we enable height change too? TIA!

1 Answer 1

2

If you use my version, which you can get here, you can adjust this parameter easily.

While the default setting of my one also resizes vertically only, you can change this line:

.THIS.dynamic-textarea:focus {
    resize: vertical;
}

To this:

.THIS.dynamic-textarea:focus {
    resize: both;
}

Also, if you ever want to make your own version, the key method that you need is the setHeight method, which measures the scrollheight of the texarea so it can resize accordingly:

setHeight: function(component) {
    var el = document.getElementById(component.getGlobalId() + '-textarea');
    // compute the height difference which is caused by border and outline
    var outerHeight = parseInt(window.getComputedStyle(el).height, 10);
    //3 pix is just a tiny static extra buffer. Adjust if necessary
    var diff = (outerHeight - el.clientHeight) + 3;

    // set the height to 0 incase it needs to be set smaller
    el.style.height = 0;

    // set the correct height
    // el.scrollHeight is the full height of the content, not just the visible part
    el.style.height = Math.max(60, el.scrollHeight + diff) + 'px';
}
2
  • Thanks, but this is for lightning component I am using visual-force. how can I do it in vf? Commented Dec 3, 2018 at 8:25
  • Can you paste in the html output of the component that you want changed? You can actually override the css of visualforce components quite easily. Right click and choose "view source" to get the code. Commented Dec 3, 2018 at 16:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .