【微信小程式】自定義模態框例項
原文連結:https://mp.weixin.qq.com/s/23wPVFUGY-lsTiQBtUdhXA
1
概述
由於官方API提供的顯示模態彈窗,只能簡單地顯示文字內容,不能對對話方塊內容進行自定義,欠缺靈活性,所以自己從模態彈窗的原理角度來實現了自定義的模態對話方塊。今天我們就分享這樣的小教程。希望對大家有所幫助。
不多說了,二當家要上圖來啦!
快去拿個小板凳,坐等更多更新
注意:如若需要請聯絡微信geekxz
wxml
<button class="show-btn" bindtap="showDialogBtn">彈窗</button>
<!--彈窗-->
<view class="modal-mask" bindtap="hideModal" catchtouchmove="preventTouchMove" wx:if="{{showModal}}"></view>
<view class="modal-dialog" wx:if="{{showModal}}">
<view class="modal-title">新增數量</view>
<view class="modal-content">
<view class="modal-input">
<input placeholder-class="input-holder" type="number" maxlength="10" bindinput="inputChange" class="input" placeholder="請輸入數量"></input>
</view>
</view>
<view class="modal-footer">
<view class="btn-cancel" bindtap="onCancel" data-status="cancel">取消</view>
<view class="btn-confirm" bindtap="onConfirm" data-status="confirm">確定</view>
</view>
</view>
3js
Page({
data: {
showModal: false,
},
onLoad: function () {
},
/**
* 彈窗
*/
showDialogBtn: function() {
this.setData({
showModal: true
})
},
/**
* 彈出框蒙層截斷touchmove事件
*/
preventTouchMove: function () {
},
/**
* 隱藏模態對話方塊
*/
hideModal: function () {
this.setData({
showModal: false
});
},
/**
* 對話方塊取消按鈕點選事件
*/
onCancel: function () {
this.hideModal();
},
/**
* 對話方塊確認按鈕點選事件
*/
onConfirm: function () {
this.hideModal();
}
})
4 css.show-btn {
margin-top: 100rpx;
color: #22cc22;
}
.modal-mask {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
opacity: 0.5;
overflow: hidden;
z-index: 9000;
color: #fff;
}
.modal-dialog {
width: 540rpx;
overflow: hidden;
position: fixed;
top: 50%;
left: 0;
z-index: 9999;
background: #f9f9f9;
margin: -180rpx 105rpx;
border-radius: 36rpx;
}
.modal-title {
padding-top: 50rpx;
font-size: 36rpx;
color: #030303;
text-align: center;
}
.modal-content {
padding: 50rpx 32rpx;
}
.modal-input {
display: flex;
background: #fff;
border: 2rpx solid #ddd;
border-radius: 4rpx;
font-size: 28rpx;
}
.input {
width: 100%;
height: 82rpx;
font-size: 28rpx;
line-height: 28rpx;
padding: 0 20rpx;
box-sizing: border-box;
color: #333;
}
input-holder {
color: #666;
font-size: 28rpx;
}
.modal-footer {
display: flex;
flex-direction: row;
height: 86rpx;
border-top: 1px solid #dedede;
font-size: 34rpx;
line-height: 86rpx;
}
.btn-cancel {
width: 50%;
color: #666;
text-align: center;
border-right: 1px solid #dedede;
}
.btn-confirm {
width: 50%;
color: #ec5300;
text-align: center;
}
以上程式碼效果
文末福利:
福利二:微信小程式入門與實戰全套詳細視訊教程。
【領取方法】
關注 【程式設計微刊】微信公眾號:
回覆【小程式demo】一鍵領取130個微信小程式原始碼demo資源。
回覆【領取資源】一鍵領取前端,Java,產品經理,微信小程式,Python等資源合集100G資源大放送。
相關推薦
【微信小程式】自定義模態框例項
原文連結:https://mp.weixin.qq.com/s/23wPVFUGY-lsTiQBtUdhXA1概述由於官方API提供的顯示模態彈窗,只能簡單地顯示文字內容,不能對對話方塊內容進行自定義,欠缺靈活性,所以自己從模態彈窗的原理角度來實現了自定義的模態對話方塊。今天
【微信小程式】自定義元件
微信小程式中的元件前言之前做小程式開發的時候,對於開發來說比較頭疼的莫過於自定義元件了,當時官方對這方面的文件也只是寥寥幾句,一筆帶過而已,所以寫起來真的是非常非常痛苦!!好在微信小程式的庫從 1.6.3 開始,官方對於自定義元件這一塊有了比較大的變動,首先比較明顯的感覺就是文件比以前全多了,有木有!(小程式
【微信小程式】自定義抽屜式選單(底部,從下向上拉出)
微信提供了動畫api,就是下面這個通過使用這個建立動畫的api,可以做出很多特效出來下面介紹一個抽屜選單的案例實現程式碼:wxml:<!--button--> <view class="btn" bindtap="powerDrawer" data-stat
【微信小程式】自適應Canvas 帶跑馬燈的辛運大轉盤 內附程式碼和詳解
第一篇關於Canvas環形進度條的博文獲得不少關注度,時隔這麼多日才發出第二篇關於Canvas的博文,並不是我懈怠了,而是最近公司比較忙,寫好的demo一直沒機會發,今天公司終於閒下來了,把我做好的demo整理一下發上來,給喜歡canvas的初學者看看,因為本人也是初學者,所
【微信小程式】微信小程式掃描自定義二維碼到指定頁面的坑
重點 測試版本不需要釋出也可以進行測試 測試階段不釋出,只能掃描測試連結中的地址中的二維碼,其他的就算符合規範也不可以 如果是要動態匹配引數,那麼動態部分必定是/後面的字串 如果是要動態匹配引數,那
【微信小程式】常用元件及自定義元件
![](//p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/79de7819a7b24837ad9fea1565afd81d~tplv-k3u1fbpfcp-zoom-1.image) # (一) 常用標籤 元件你可以理解為傳統頁面開發時候的各種標籤,例如 div sp
【微信小程式】在js中匯入第三方js或自己寫的js,使用外部js中的function的兩種方法 import和require的區別使用方法
如下 定義了一個外部js檔案,其中有一個function import lunaCommon from '../lunaCommon.js'; var ctx = wx.getStorageSync("ctx"); var filter = "/ms-code"; var apis
微信小程式--15自定義元件
關於自定義元件有兩個知識點需要說一下: 1.子元件向父元件傳引數 在子元件內部,這樣觸發事件,傳遞引數 在父元件內部這樣接收引數 2. 父元件向子元件傳引數 在父元件這裡定義一個now-in 在子元件這裡引入 這樣的話,nowIn就相當於data裡
【微信小程式】--bindtap引數傳遞,配合wx.previewImage實現多張縮圖預覽
本文為原創隨筆,純屬個人理解。如有錯誤,歡迎指出。 如需轉載請註明出處 在微信小程式中預覽圖片分為 a、預覽本地相簿中的圖片。 b、預覽某個wxml中的多張圖片。 分析:實質其實是一樣的。都是給wx.previewImage傳入引數
【微信小程式】公共方法實現實時捕捉input輸入
專案中,一個表單中經常有好幾個input,但是微信小程式並不像vue那樣實現雙向繫結,所以我們要自己去實現當用戶輸入的時候,實時獲取使用者輸入的值。 方法比較簡單,就兩個步驟。 1.wxml <input data-name='form.base.name
【微信小程式】在微信開發工具上七牛雲的圖片可以看到,但是在真機上看不到的原因解決
在開發微信小程式過程中,在微信開發者工具上,七牛雲的圖片都可以展示出來,但是在真機上,七牛雲的圖片卻展示不出來,也沒有報404找不到或者不能載入圖片的問題, 必須保證: 1.圖片是用image載入的; 2.圖片的url裡面沒有中文; 3.圖片的HTTP應為小寫的
【微信小程式】c# 實現獲取openid、session_key 服務端
c#寫一個獲取微信小程式 openid和session_key 的方法。。 1,微信小程式端 // 登入 wx.login({ success: res => { // 傳送 res.code 到後臺換取 openId, sessionKey,
【微信小程式】元件之頁面佈局
小程式的flex佈局 小程式建議使用flex佈局進行排版 flex就是一個盒裝彈性佈局 flex是一個容器,所有子元素都是它的成員。 定義佈局:display:flex flex 容器的屬性: 1、屬性flex-direction: 排列方向。有下面
微信小程式 Canvas 自定義時間顯示器 數碼管顯示
微信小程式自定義時間顯示器Demo 廢話不多話,還是依舊上圖再說,哈哈 怎麼樣,效果還是不錯的吧,因專案要求,要畫出類似於數碼管顯示的時間樣式,沒辦法,雖然不咋過好弄,但工作畢竟得做,於是乎,樓主,花了3個小時在那裡硬生生的算座標,差不多還是給擼出來,樓主寫成了一個外掛,方便大
【微信小程式】scroll-view 注意事項
之前用到scroll-view的時候踩過一次坑,解決後,覺得不是什麼很深的坑,遂沒有做記錄,結果這次又用到了,同一個坑又掉進去一次,心裡很難受,難受我沒長腦子,也難受我眼高手低,所以這一次,我決定記錄下來,給自己一個警醒! 橫向滑動注意事項: 1、scroll-view
【微信小程式】下載並預覽文件——pdf、word、excel等多種型別
簡要:wx.downloadFile(OBJECT)下載檔案資源到本地,客戶端直接發起一個 HTTP GET 請求,返回檔案的本地臨時路徑。wx.openDocument(OBJECT)新開頁面開啟文件,支援格式:doc, xls, ppt, pdf, docx, xlsx, pptx。 呼
【微信小程式】入門
MINA框架:響應式資料繫結系統:檢視層、邏輯層,背後有MVVM 將View 的狀態和行為抽象化,將檢視 UI 和業務邏輯分開 一、檢視層描述語言: 1、WXML:類似HTML  
【微信小程式】 storage的小結
微信本地儲存,為此提供了好幾個方法。 api文件如下: ps: api文件我居然翻到了兩個版本,真特麼神奇。還好兩版就是一個精簡版一個詳解版。 每個微信小程式都可以有自己的本地快取,可以
【微信小程式】上拉重新整理和下拉載入
上拉重新整理和下拉載入有兩種方式可以實現: 1.使用scroll-view元件進行操作,使用自帶的scrolltoupper和scrolltolower事件可以實現。適合頁面區域性的上拉下拉。 附上
微信小程式之自定義select下拉選項框元件
知識點:元件,animation,獲取當前點選元素的索引與內容 微信小程式中沒有select下拉選項框,所以只有自定義。自定義的話,可以選擇模板的方式,也可以選擇元件的方式來建立。 這次我選擇了元件,這樣只需引入元件和新增資料,其它的不用管,就能實現多個地方重複使用了。