·

恭喜你遇到 textarea 的第一个坑,无法自适应的问题。

通常的做法是用一个隐藏的 div,然后保持 css 全部样式和 textarea 一样(盒模型、字体大小、行高等),输入文本的时候把文本也填充到这个 div 里面,javascript 动态获取这个 div 的高度,同步设置到 textarea 中。

Replies
3

怎么同步过div

你用的是 vue 还是 react?数据状态保持一份就OK了:

function Component() {
  const [value, setValue] = useState('');

  return (
    <div>
      <textarea value={value} />
      <div>{value}</div>
    </div>
  );
}

解决了去vue还没学我只会jq