bug1:
在uni-app中,在使用多文本输入框时,如果输入框存在if的显隐切换时,真机调试中auto-height计算高度有误(一般是高于正常高度),导致小程序页面渲染出现很大问题。案例代码如下:
<view class="content_right" v-if="editable">
<textarea
placeholder="请输入地址"
class="textareaStyle"
maxlength="200"
v-model="contentAddress"
@input="changName($event,'contentAddress')"
:enableNative="false"
auto-height >
</textarea>
</view>
<style>
.content_right{
width: 454rpx;
height: 54rpx;
}
</style>
bug1解决方案:
根据bug1的情况,在以下链接的评论区中有一条官方评论回答了该问题。
“textarea 的 auto-height 必须要在屏才能计算高度,先展示再赋值。”
在屏的意思就是文本框处于显示状态,当存在显隐控制时,要先展示文本框,再对文本框绑定的值进行赋值。结合案例代码来说就是,先把editable置为ture,再对contentAddress 进行赋值操作(延迟赋值和置空再赋值均可,根据不同情况灵活处理均可),保证先展示再赋值,文本框高度就可以自适应。
bug2:
设置auto-height属性后,输入多行内容时,出现滚动条,即文本框高度较低,没有根据内容撑开。案例代码如下:
<view class="content-item">
<view class="content-item-label"><view class="label">住址</view>:</view>
<view class="content-item-value">
<textarea placeholder="请输入住址" autoHeight maxlength='100' v-model="address"></textarea>
</view>
</view>
<style>
.content-item-value{
display: flex;
flex-frow: 1;
justify-content: space-between;
font-size: 32rpx;
color: #1A1A1A;
line-height: 44rpx;
}
</style>
bug2:解决方案:
首先检查有没有设置line-height属性,将line-height 的值修改为和字体大小一样即可。或是直接注释掉line-height 属性。结合案例代码来说,就是 修改为line-height :32rpx 或是 //line-heigh:44rpx 。
标签:textarea,hieght,显隐,auto,高度,文本框,height,line,赋值 From: https://blog.csdn.net/qq_59562332/article/details/139225499