找了找网上的自适应,最开始找到方法如下:
<textarea v-model="val" v-on:input="autoTextAreaHeight" ></textarea>
autoTextAreaHeight = function(e){
//e是textarea
e.style.height = e.scrollTop + e.scrollHeight + "px";
}
这个能解决自动增高,但是删除内容后,不能自动缩小
后面又看了几篇文章,但是看起来都很复杂,又没找到简单的,准备用复杂的解决方案时,突然脑瓜子一响,觉得有个偷懒的方案,那就是每次我都先把他变到最小,再来调用这个是不是可以了呢?当然,我既然准备记录这个问题,肯定是可以的(至少是在我记录的时候还没发现问题)。
修改后代码
autoTextAreaHeight = function(e){
//e是textarea
//先将文本域设置足够低,后面那代码就能起作用
e.style.height = "10px";
e.style.height = e.scrollTop + e.scrollHeight + "px";
}