【发布时间】:2021-02-01 17:17:29
【问题描述】:
我有一个 Vue 页面,它从 api 加载一个 json 数组,并使用 v-for 在多个 s 的列表中显示内容。
如果您专注于其中一个文本区域或更改文本,一个函数会自动调整文本区域的大小以适应内容。
<div v-for="post in posts">
<textarea v-model="post.body" rows="1" @focus="resizeTextarea" @keyup="resizeTextarea"></textarea>
</div>
resizeTextarea(e) {
let area = e.target;
area.style.overflow = 'hidden';
area.style.height = area.scrollHeight + 'px';
}
由于我对 Vue 的了解有限,我找不到在从 API 加载数据后自动调整所有 textarea 大小的解决方案。 textarea 上没有 @load。
我试图通过对数据使用观察器来达到相同的目标,但感觉是一个漫长的解决方法。
任何人的下降解决方案?谢谢!
【问题讨论】:
标签: javascript vue.js asynchronous resize textarea