1.首先,textarea為微信小程序原生組件,其層級是最高的,所以頁面中的其他組件無論設置 z-index 為多少,都無法蓋在原生組件上。
2.解決方法:
方法一:可通過官方提供的<cover-view/>標簽嵌套view或者button,或者用<cover-image/>標簽
<cover-view> 提交 </cover-view>
方法二:我用的vant weapp,第一種方法無法嵌套其組件,遂用一下方法
(1)用view盛放會覆蓋的placeholder(注:如果有彈出層,當彈出彈出層時禁用textarea)
<view class="placeholder" wx:if="{{locationShow}}">{{ location || '請輸入事發地點'}}</view>
<textarea class="myTextarea" value="{{location}}" data-name="location" bindfocus="locationFocus" bindinput="dataInput" bindblur="locationInput"></textarea>
(2)定義變量
location:'', locationShow:true,
(3)添加方法
//地點聚焦 locationFocus() { this.setData({ locationShow: false }) },
dataInput(e){
var name=e.target.dataset.name,obj={};
obj[name]=e.detail.value;
this.setData({
...obj
})
},
//地點輸入 locationInput() { this.setData({ locationShow: input.length ? false : true }); },
方法三:部分view啥的可通過:z-index:99999 !important; 解決