JavaScript/React Dynamic Height Textarea (остановитесь на максимуме)Html

Программисты Html
Ответить
Anonymous
 JavaScript/React Dynamic Height Textarea (остановитесь на максимуме)

Сообщение Anonymous »

То, что я пытаюсь достичь, - это Textarea, которая начинается как одна строка, но вырастет до 4 строк и в этот момент начнет прокручивать, если пользователь продолжает печатать. У меня есть частичное решение вроде как работает, оно растет, а затем останавливается, когда оно попадает в максимум, но если вы удаляете текст, оно не уменьшается, как я хочу. Это то, что у меня есть до сих пор. < /P>

Код: Выделить всё

export class foo extends React.Component {
constructor(props) {
super(props);
this.state = {
textareaHeight: 38
};
}

handleKeyUp(evt) {
// Max: 75px Min: 38px
let newHeight = Math.max(Math.min(evt.target.scrollHeight + 2, 75), 38);
if (newHeight !== this.state.textareaHeight) {
this.setState({
textareaHeight: newHeight
});
}
}

render() {
let textareaStyle = { height: this.state.textareaHeight };
return (



);
}
}
Очевидно, что проблема заключается в том, что Scrollheight не сокращается, когда высота устанавливается на что -то большее. Любые предложения о том, как я смогу исправить это, чтобы оно также сократилось, если текст будет удален?

Подробнее здесь: https://stackoverflow.com/questions/394 ... p-at-a-max
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»