微信小程序實現modal彈出框遮罩層組件(可帶文本框)

modal彈出框遮罩層可實現提示信息、驗證碼等功能

然而在官方文檔已經刪除瞭modal的頁面,說要廢棄modal

TIM截圖20180515175836.jpg

就個人而言modal組件無法被wx.showModal完全替代。大傢都知道小程序的wxml的組件可以通過改變js的值實現重新渲染,而接口是無法實現的

TIM圖片20180515180119.png

有同感的也不止博主一個人

TIM截圖20180515180147.jpg

官方18-5-13的建議要實現此類功能也是用modal

屬性

20160926160841592.jpg

說下遮罩層實現,通過改變modal的hidden屬性來控制是否顯示,通過監聽confirm方法來確認提交,通過bindinput來監聽modal內表單組件內容

TIM截圖20180515181311.jpg
TIM截圖20180515181336.jpg

js

Page({
 data: {
  hiddenModal1:true,
  hiddenModal2:true,
  input:null
 },
 showModal1:function(e){
  this.setData({hiddenModal1:false})
 },
 model1confirm:function(e){
  this.setData({ hiddenModal1: true })
  wx.showToast({
   title: '我覺得OK',
  })
 },
 model1cancel:function(e){
  this.setData({ hiddenModal1: true })
  wx.showToast({
   title: '我覺得不行',
  })
 },
 input:function(e){
  this.setData({input:e.detail.value})
 },
 showModal2: function (e) {
  this.setData({ hiddenModal2: false })
 },
 model2confirm: function (e) {
  this.setData({ hiddenModal2: true })
  wx.showToast({
   title: '確定' +this.data.input,
   icon:'none'
  })
 },
 model2cancel: function (e) {
  this.setData({ hiddenModal2: true })
  wx.showToast({
   title: '取消'+this.data.input,
   icon: 'none'
  })
 }
})

wxml

<button type="primary" bindtap='showModal1'>彈出提示modal</button>
<button type="default" bindtap='showModal2'>彈出帶文本框的modal</button>
<modal hidden="{{hiddenModal1}}" title="提示modal" confirm-text="是" cancel-text="否" bindconfirm="model1confirm" bindcancel="model1cancel">
 modal是真的好用
</modal>
<modal hidden="{{hiddenModal2}}" title="文本框的modal" confirm-text="提交" cancel-text="取消" bindconfirm="model2confirm" bindcancel="model2cancel">
 <input placeholder='請輸入內容' bindinput='input'/>
</modal>

到此這篇關於微信小程序實現modal彈出框遮罩層組件(可帶文本框)的文章就介紹到這瞭,更多相關微信小程序modal彈出框遮罩層組件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: