您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)微信小程序如何實(shí)現(xiàn)簡(jiǎn)易封裝彈窗,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
1.建立組件文件夾
2.編寫(xiě)組件內(nèi)容
<!--index.wxml--> <view class="container"> <text>demo 01 heihzi</text> <view bindtap="onDialog">點(diǎn)擊 打開(kāi)彈窗</view> </view> <dialog id="dialog" title="查看詳情"> <scroll-view class="p-b min-ht" scroll-y > <view class="dia-warp"> <text>詳情信息</text> <view wx:for="{{20}}" wx:key="index">{{item}}</view> </view> </scroll-view> </dialog>
// components/dialong/index.js Component({ /** * 組件的屬性列表 */ properties: { title: { type: String } }, /** * 組件的初始數(shù)據(jù) */ data: { show: false, zIndex: 0, ablClickMask: true, hasClsBtn: false, title: '' }, /** * 組件的方法列表 */ methods: { open(params, cb, fb) { params = params || {} this.setData({ show: true, zIndex: params.zIndex || 0 }) this.data._cb = cb this.data._fb = fb }, close() { this.setData({ show: false }) }, onMaskHide() { if (this.data.ablClickMask) { this.close() this.triggerEvent('maskEvt') } } } })
樣式一定要加 不然組件彈窗出不來(lái)
/* components/dialong/index.wxss */ /* 彈窗 */ .pop { width: 80%; background: #fff; border-radius: 12rpx; height: auto; max-height: 70vh; margin: auto; position: absolute; position: fixed; left: 0; right: 0; top: 20vh; opacity: 0; overflow: hidden; transform: scale(0.5, 0.5); -webkit-transform: scale(0.5, 0.5); transition: all 0.2s ease; -webkit-transition: all 0.2s ease; } .pop-enter { opacity: 1; transform: scale(1, 1); -webkit-transform: scale(1, 1); z-index: 1000; } .mask { width: 100vw; height: 100vh; box-sizing: border-box; background: rgba(0, 0, 0, 0.6); position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 700; } .title { text-align: center; padding: 20rpx 0; border-bottom: 1rpx solid #CCC; }
組件的引入 index .json
"usingComponents" : { "dialog" : "/components/dialong/index" },
3.頁(yè)面中使用
<!--index.wxml--> <view class="container"> <text>demo 01 heihzi</text> <view bindtap="onDialog">點(diǎn)擊 打開(kāi)彈窗</view> </view> <dialog id="dialog" title="查看詳情"> <scroll-view class="p-b min-ht" scroll-y > <view class="dia-warp"> <text>詳情信息</text> <view wx:for="{{20}}" wx:key="index">{{item}}</view> </view> </scroll-view> </dialog>
//index.js //獲取應(yīng)用實(shí)例 const app = getApp() Page({ data: { }, onLoad: function () { }, onDialog () { console.log('打開(kāi)我啊') this.dialog.open() }, onReady () { this.dialog = this.selectComponent("#dialog") } })
看完上述內(nèi)容,你們對(duì)微信小程序如何實(shí)現(xiàn)簡(jiǎn)易封裝彈窗有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。