恭喜你遇到 textarea 的第一个坑,无法自适应的问题。
通常的做法是用一个隐藏的 div,然后保持 css 全部样式和 textarea 一样(盒模型、字体大小、行高等),输入文本的时候把文本也填充到这个 div 里面,javascript 动态获取这个 div 的高度,同步设置到 textarea 中。
怎么同步过div
你用的是 vue 还是 react?数据状态保持一份就OK了:
function Component() { const [value, setValue] = useState(''); return ( <div> <textarea value={value} /> <div>{value}</div> </div> ); }
解决了去vue还没学我只会jq