То, что я пытаюсь достичь, - это 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