由于textarea层级过高,导致页面过长或有按钮的时候 textarea会遮盖页面其他功能 ,点击就是输入框。
解决方式有两种
1,cover-view (用法见uniapp官方文档)
2,用v-if控制textarea显隐,利用dom制造一个假的textarea(亲测有效)详情如下
<view class="part bg-white p20">
<view class="remark pb20">备注</view>
<view @tap="showTextarea = false" v-show="showTextarea" class="placeholder" :class="{'placeholder1':subData.remark}">
{{ subData.remark ||'请输入备注'}}
</view>
<view>
<u--textarea :cursor="resStart" v-if="!showTextarea" :focus="!showTextarea"
@blur ="areaBlur" :maxlength='100' :height="80" v-model="subData.remark"
placeholder="请输入备注" ></u--textarea>
</view>
</view>```
focus一定要加不然就是点击两次才能输入!
textarea中的cursor是为了显示光标的,因为做了这个假的输入完失焦后再点击每次光标都在最前面为了保证用户体验最好加上这个(注意data中别忘定义变量)
areaBlur() {
this.showTextarea = true
this.resStart = this.subData.remark.length
}
样式如下
.placeholder1 {
padding:15rpx;
border-width: 0.5px !important;
border-color: #dadbde !important;
border-style: solid;
border-radius: 4px;
font-size: 14px;
color: #c0c4cc;
min-height: 200rpx;
box-sizing: border-box;
color:#606266;
}