真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

    <ul id="misc0"><pre id="misc0"></pre></ul>
  • <strike id="misc0"><rt id="misc0"></rt></strike>
  • <ul id="misc0"></ul>
    成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司 成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司
    • 網(wǎng)站建設(shè)
    • 網(wǎng)站制作
    • 網(wǎng)站營(yíng)銷
    • 小程序
    • 新聞動(dòng)態(tài)
    • 成功案例
    • 關(guān)于我們
    • 028-86922220
    • 網(wǎng)站建設(shè)
    • 網(wǎng)站制作
    • 網(wǎng)站營(yíng)銷
    • 小程序
    • 新聞動(dòng)態(tài)
    • 成功案例
    • 關(guān)于我們
    • 網(wǎng)站建設(shè)
    • 網(wǎng)站設(shè)計(jì)
    • 網(wǎng)站維護(hù)
    • 網(wǎng)站運(yùn)營(yíng)
    • SEO優(yōu)化

    微信小程序?qū)崿F(xiàn)自定義modal彈窗封裝的方法

    前言

    目前創(chuàng)新互聯(lián)公司已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、從江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

    小程序官方提供了 wx.showModal 方法,但樣式比較固定,不能滿足多元化需求,自定義勢(shì)在必行~

    老規(guī)矩先上圖

    微信小程序?qū)崿F(xiàn)自定義modal彈窗封裝的方法

    微信小程序?qū)崿F(xiàn)自定義modal彈窗封裝的方法

    點(diǎn)擊某個(gè)按鈕,彈出 modal框,里面的內(nèi)容可以自定義,可以是簡(jiǎn)單的文字提示,也可以輸入框等復(fù)雜布局。操作完點(diǎn)擊取消或確定關(guān)閉 modal.

    如何使用

    將下面的 modal.wxml 、modal.wxss 、modal.js 、modal.json 四個(gè)文件復(fù)制到對(duì)應(yīng)位置即可。

    封裝完之后調(diào)用起來也很簡(jiǎn)單,看看調(diào)用的代碼吧

    
       
      
      
    

    在modal中定義了 slot,所以可以將需要展示的任何布局包裹在 modal 中。

    上面的代碼簡(jiǎn)化一下就是

    
      你自己的布局
    

    需要傳四個(gè)屬性

    show :用來控制 modal 的顯示隱藏。

    height : 定義 modal 的高度,可以是百分比,也可以是具體單位如 600rpx。

    bindcancel :點(diǎn)擊取消按鈕的回調(diào)。

    bindconfirm :點(diǎn)擊確定按鈕的回調(diào)。

    自己的布局用一個(gè) view 包起來放到 modal 標(biāo)簽里即可。

    開始封裝

    首先在你存放自定義組件的文件夾里新建個(gè) modal 文件夾,個(gè)人習(xí)慣將所有組件都放在 components 下面。

    然后右鍵新建 component,注意是 component 不是 page ,因?yàn)橐鳛榻M件引入到頁(yè)面中。

    先看布局吧

    modal.wxml

    
     
      
       
      
      
       取消
       確定
      
     
    

    布局講解

    最外層是半透明的 mask 蒙版,覆蓋了整個(gè)頁(yè)面。里面是包裹內(nèi)容的 view ,內(nèi)容區(qū)有兩層,上面是放置傳入布局的主內(nèi)容區(qū),下面是取消和確定兩個(gè)按鈕。

    這里把 slot 用 scroll-view 包裹了起來,處理了傳入的布局高度超出內(nèi)容區(qū)域的問題,如果超出將會(huì)滾動(dòng)。所以不必?fù)?dān)心傳入的布局高度,大膽用就行。

    內(nèi)容區(qū)的高度通過屬性傳入的 height 確定,默認(rèn)是 80%

    modal.wxss
    .mask{
     position: absolute;
     left: 0;
     right: 0;
     top: 0;
     bottom: 0;
     display: flex;
     justify-content: center;
     align-items: center;
     background-color: rgba(0,0,0,0.4);
     z-index: 9999;
    }
    
    .modal-content{
     display: flex;
     flex-direction: column;
     width: 90%;
     /* height: 80%; */
     background-color: #fff;
     border-radius: 10rpx;
    }
    
    .modal-btn-wrapper{
     display: flex;
     flex-direction: row;
     height: 100rpx;
     line-height: 100rpx;
     border-top: 2rpx solid rgba(7,17,27,0.1);
    }
    
    .cancel-btn, .confirm-btn{
     flex: 1;
     height: 100rpx;
     line-height: 100rpx;
     text-align: center;
     font-size: 32rpx;
    }
    
    .cancel-btn{
     border-right: 2rpx solid rgba(7,17,27,0.1);
    }
    
    .main-content{
     flex: 1;
     height: 100%;
     overflow-y: hidden; 
    }

    css講解

    css沒啥講的,直接復(fù)制過去就行。

    注意幾個(gè)點(diǎn):

    將 .mask 的 z-index 設(shè)置的高一些,確保能在所有布局的最上層。

    modal.js

    /**
     * 自定義modal浮層
     * 使用方法:
     * 
       你自己需要展示的內(nèi)容
     
    
     屬性說明:
     show: 控制modal顯示與隱藏
     height:modal的高度
     bindcancel:點(diǎn)擊取消按鈕的回調(diào)函數(shù)
     bindconfirm:點(diǎn)擊確定按鈕的回調(diào)函數(shù)
    
     使用模塊:
     場(chǎng)館 -> 發(fā)布 -> 選擇使用物品
     */
    
    Component({
    
     /**
      * 組件的屬性列表
      */
     properties: {
      //是否顯示modal
      show: {
       type: Boolean,
       value: false
      },
      //modal的高度
      height: {
       type: String,
       value: '80%'
      }
     },
    
     /**
      * 組件的初始數(shù)據(jù)
      */
     data: {
    
     },
    
     /**
      * 組件的方法列表
      */
     methods: {
      clickMask() {
       // this.setData({show: false})
      },
    
      cancel() {
       this.setData({ show: false })
       this.triggerEvent('cancel')
      },
    
      confirm() {
       this.setData({ show: false })
       this.triggerEvent('confirm')
      }
     }
    })

    Js 代碼也很簡(jiǎn)單,在 properties 中定義兩個(gè)需傳入的屬性 show 和 height ,并指定默認(rèn)值。

    在 methods 中寫點(diǎn)擊取消和確定按鈕的回調(diào),點(diǎn)擊按鈕后先通過 this.setData({ show: false }) 將 modal 隱藏掉,再通過 this.triggerEvent('confirm') 將點(diǎn)擊事件傳遞出去。

    modal.json
    {
     "component": true,
     "usingComponents": {}
    }

    json 主要是聲明 modal 為組件

    結(jié)語

    以上就是簡(jiǎn)單的 modal 彈窗封裝。如果不想要下面的確定取消兩個(gè)按鈕,內(nèi)容區(qū)的所有內(nèi)容都要外部傳入,可以這樣寫

    
      
    

    如果需要多個(gè) slot 也可以,小程序都支持。

    具體怎么實(shí)現(xiàn)看具體的業(yè)務(wù)需求吧,自定義的組件就是靈活性非常高,可以根據(jù)業(yè)務(wù)需求進(jìn)行調(diào)整。

    以上所述是小編給大家介紹的微信小程序?qū)崿F(xiàn)自定義modal彈窗封裝的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!


    當(dāng)前標(biāo)題:微信小程序?qū)崿F(xiàn)自定義modal彈窗封裝的方法
    URL分享:http://www.weahome.cn/article/goishh.html

    其他資訊

    • iOS開發(fā)教程——介紹Window的旋轉(zhuǎn)
    • 微信小程序開通支付功能的方法
    • SpringAOP是如何運(yùn)行的
    • Web設(shè)計(jì)師的便利工具有哪些
    • 淺談bootstraplayer.open中end的使用方法
    • 網(wǎng)站制作

      網(wǎng)站制作定制網(wǎng)站制作成都網(wǎng)站制作重慶網(wǎng)站制作成都網(wǎng)站制作網(wǎng)站制作
    • 企業(yè)服務(wù)

      ICP經(jīng)營(yíng)性備案買友情鏈接網(wǎng)站收錄賣友情鏈接免費(fèi)建站注冊(cè)公司
    • 網(wǎng)站建設(shè)

      新都網(wǎng)站建設(shè)什邡網(wǎng)站建設(shè)成都營(yíng)銷網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)公司品牌網(wǎng)站建設(shè)溫江網(wǎng)站建設(shè)
    • 服務(wù)器托管

      義龍電信機(jī)房重慶移動(dòng)機(jī)房托管光華服務(wù)器托管資陽(yáng)天府云計(jì)算中心重慶服務(wù)器托管成都機(jī)柜租用

    全國(guó)免費(fèi)咨詢:

    400-028-6601

    業(yè)務(wù)咨詢:028-86922220 / 13518219792

    節(jié)假值班:18980820575 / 13518219792

    聯(lián)系地址:成都市太升南路288號(hào)錦天國(guó)際A幢1002號(hào)

    Copyright ? 成都創(chuàng)新互聯(lián)科技有限公司重慶分公司 渝ICP備2021005571號(hào)
    友情鏈接:: 成都網(wǎng)站建設(shè) 重慶網(wǎng)站建設(shè) 四川網(wǎng)站建設(shè) 重慶建設(shè)網(wǎng)站 移動(dòng)服務(wù)器托管 成都服務(wù)器托管 云服務(wù)器 廣告設(shè)計(jì)制作 重慶網(wǎng)頁(yè)設(shè)計(jì) 重慶做網(wǎng)站 重慶網(wǎng)站制作 重慶網(wǎng)站建設(shè) 重慶網(wǎng)站公司 渝中網(wǎng)站制作 重慶網(wǎng)站設(shè)計(jì)
    • 在線咨詢
    • 電話咨詢
    • QQ咨詢
    • 預(yù)約顧問

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部

    感谢您访问我们的网站,您可能还对以下资源感兴趣:

    真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆
    <th id="0u4sq"><s id="0u4sq"></s></th>
    • <tr id="0u4sq"><rt id="0u4sq"></rt></tr>