微信小程序weui dialog封装,兼容wx.showModal
Posted 七年觐汐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序weui dialog封装,兼容wx.showModal相关的知识,希望对你有一定的参考价值。
最近项目业务升级,有些按钮防止误触还是要加wx.showModal的。但wx.showModal样式并不好看,在官方推荐的weui库上有一个Dialog弹窗组件可以实现和wx.showModal一样的效果并且样式要好看一点。
于是我打算直接用dialog组件,并且将之前的wx.showModal修改,封装一下让dialog组件使用方式和wx.showModal相同,这样只改个调用函数名字就可以了。
在 页面.json 中引入组件
"usingComponents": {
"mp-dialog": "weui-miniprogram/dialog/dialog"
}
wxml外层添加组件元素
<mp-dialog title="{{dialogTitle}}" show="{{dialogShow}}" bindbuttontap="tapDialogButton" buttons="{{dialogButtons}}">
<view>{{dialogContent}}</view>
</mp-dialog>
在data对象中添加属性
buttonConfig: null,
dialogShow: false,
dialogTitle: "提示",
dialogContent: "",
dialogButtons: [
{text: \'取消\'},
{text: \'确认\'}
]
声明showDialog方法,就是使用弹框的方法
showDialog(data) {
this.setData({
dialogTitle: data.title ? data.title : "提示",
dialogContent: data.content ? data.content : "",
buttonConfig: data.success ? data.success : ()=>{},
dialogShow: true
})
},
点击确定时执行的方法
tapDialogButton(e) {
this.setData({
dialogShow:false
})
if(e.detail.index){
this.data.buttonConfig({confirm:e.detail.index})
}else{
this.data.buttonConfig({confirm:0})
}
},
使用方式和wx.showModal相同
this.showDialog({
title: \'标题\',
content:"内容",
success:()=>{
if (res.confirm) {
console.log("点击了确定");
}else{
console.log("点击了取消");
}
}
})
微信小程序从零开始开发步骤-引入框架WeUI
首先来看下WeUI的官方介绍:
WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。在微信小程序的开发过程中,涉及到的前端复杂的样式界面的问题,就需要使用个UI框架,这样可以省去以后很多麻烦。
WeUI作为一个开源的移动端UI框架,由于它是微信官方提供的对微信的兼容性没有太大问题,而且和各组件的样式和微信一样,能够很好地和微信融合在一起,给用户较好的体验。
使用步骤
1、在GitHub上https://github.com/weui/weui-wxss/下载程序代码,解压后可以看到如下目录:
2、我们只需要将weui-wxss-master\dist\style\weui.wxss文件导入到小程序项目的根目录下:
3、新建微信小程序项目,将weui.wxss文件导入到小程序项目的根目录下:
4、在项目中引用:在全局app.wxss中加入weui.wxss的引用- @import "weui.wxss";
5 根组件使用class=”page”
<view class="page"></view>
6 页面骨架
<view class="page">
<view class="page__hd"></view><!--页头-->
<view class="page__bd"></view><!--主体-->
<view></view><!--未设置页脚-->
</view>
7 除此之外都是按照weui-开头后接组件名称,例如class=”weui-footer”
<view class="weui-footer">我是页脚</view>
8 组件的子组件样式,例如view.weui-footer组件还有链接和版权信息。
<view class="weui-footer">
<view class="weui-footer__links">
<navigator url="" class="weui-footer__link">上海物联网科技有限公司</navigator>
</view>
<view class="weui-footer__text">Copyright © 程序媛专用</view>
</view>
9、具体组件在小程序中新建个项目,地址指向weui-wxss-master\dist,就可以随时查找自己要的效果,剩下的就是复制粘贴了,或者导入从github上下载代码中的实例使用,在项目中使用weui的样式如下:
示例代码:
<view class="page">
<view class="page__hd">
<view class="page__title">Button</view>
<view class="page__desc">按钮,WeUI采用小程序原生的按钮为主体,加入一些间距的样式。</view>
</view>
<view class="page__bd page__bd_spacing">
<button class="weui-btn" type="primary">页面主操作 Normal</button>
<button class="weui-btn" type="primary" disabled="true">页面主操作 Disabled</button>
<button class="weui-btn" type="default">页面次要操作 Normal</button>
<button class="weui-btn" type="default" disabled="true">页面次要操作 Disabled</button>
<button class="weui-btn" type="warn">警告类操作 Normal</button>
<button class="weui-btn" type="warn" disabled="true">警告类操作 Disabled</button>
<view class="button-sp-area">
<button class="weui-btn" type="primary" plain="true">按钮</button>
<button class="weui-btn" type="primary" disabled="true" plain="true">按钮</button>
<button class="weui-btn" type="default" plain="true">按钮</button>
<button class="weui-btn" type="default" disabled="true" plain="true">按钮</button>
<button class="weui-btn mini-btn" type="primary" size="mini">按钮</button>
<button class="weui-btn mini-btn" type="default" size="mini">按钮</button>
<button class="weui-btn mini-btn" type="warn" size="mini">按钮</button>
</view>
</view>
</view>
预览框架WeUI文件:
以上是关于微信小程序weui dialog封装,兼容wx.showModal的主要内容,如果未能解决你的问题,请参考以下文章