uni-app
构建的微信小程序时,在使用textarea
组件时遇到的一点小问题。uni-app
中,<textarea>
的auto-hetght
属性会出现高度不够,文字可以上下移动的问题,具体见下图:当输入的文字过多时,textarea内的文字能够上下滚动。 这不属于产品的需求,产品要的是输入框高度随着文字的变化而变化不能出现滚动条,而在uni-app
打包的微信小程序中却出现了滚动css
<textarea placeholder="sxx是猪" class="textarea" auto-height="true"></textarea>
.textarea{ margin-top: 80rpx; width: 80vw; border: 1rpx solid red; min-height: 100rpx; font-size: 20px }
发如今原生微信小程序语法中,使用auto-height
属性,输入框高度会随着文字的增长而增长。html
uni-app
中新建项目,打包编译至微信小程序开发工具查看效果<textarea auto-height="true" placeholder="sxx是猪" class="textarea"></textarea>
.textarea { margin-top: 80upx; width: 80vw; border: 1rpx solid red; min-height: 100upx; font-size: 20px }
跟在微信原生语法中写的如出一辙,却产生了不一样的效果。说明是uni-app
编译的小程序会出现这个bug
小程序
Wxml
下的Dom
以及style
初始没有输入文本的时候,微信小程序的textarea
有一个height:22.5px
的行内样式微信小程序
而在uni-app(如下简称uni-app)编译的小程序下面,初始的高度只有17px
微信
输入一段相同的文本以后进行比较:sxx是猪sxx是猪sxx是猪sxx是猪sxx是猪sxx是猪sxx是猪sxx是猪sxx是猪sxx是猪sxx是猪app
微信小程序工具
uni-app开发工具
输入相同的内容,微信小程序高度为73px,uni-app高度也为73px,可是uni-app文本的字体高度却大于微信小程序的文本行高,因此会出现滚动字体
.textarea { margin-top: 80upx; width: 80vw; border: 1rpx solid red; min-height: 100upx; font-size: 20px; line-height: 20px; }
运行以后,解决问题!!spa
uni-app
中文字比较稀疏。故猜想多是行高将文字的总体高度撑起,大于了输入框的可视区域。所uni-app
中出现了滚动的效果。