微信小程序textarea層級過高(蓋住其他元素)問題的解決辦法


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;   解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM