一、HTML
<textarea class="mini-textarea"></textarea>
二、CSS
.mini-textarea { min-height: 50px; height: auto; } .mini-textarea .mini-textbox-input { resize: vertical; }
三、JS
var textareaList = document.querySelectorAll('textarea'); textareaList.forEach(li => { li.style.height = li.scrollHeight+30+'px'; });
四、对该方案的解释
1、通过mini.get() 获取到的textarea元素scrollHeight和页面展示高度一致,真正的scrollHeight也可以取到,只不过比较麻烦,所以就直接使用原生方法了。
2、必须使用CSS代码与JS 代码配合实现。
3、在我的项目里,把scrollHeight直接赋给style.height,页面依然会有一点纵向滚动条显示,所以就根据实际情况赋值了scrollHeight+30。
4、实现原理:将textarea的高度赋值为实际高度scrollHeight,textarea的高度就会根据内容调整,也不会有滚动条了。