我有一个react组件,它允许根据内部文本调整大小的文本区域。
return (<div className={`resizable-textbox ${className}`}>
<textarea
value={value}
onChange={onChangeMade}
onBlur={onBlur}
readOnly={readOnly} />
</div>);
onChangeMade方法如下:
const onChangeMade = (e) => {
const scrollHeightPadded = e.target.scrollHeight;
if ((scrollHeightPadded + "px") !== e.target.style.height) {
e.target.style.height = 0;
const height = Math.max(scrollHeightPadded, 31) + 3;
e.target.style.height = `${height}px`;
}
}
我知道这是一种难看的方法,需要清理。但是,我想在第一次加载组件时调用一次此方法,但是e
是由textarea
标记触发的事件。
是否有方法可以将其挂接到该方法或直接插入到component
中? (我正在使用React
Hooks
和无状态components
)。
谢谢。