手机版

微信小程序封装自定义弹窗的实现代码

时间:2021-08-24 来源:互联网 编辑:宝哥软件园 浏览:

最近在做小程序的登录,需要同时获取用户手机号和头像昵称等信息,但是小程序又不支持单个接口同时获取两种数据,因此想到自定义一个弹窗,通过弹窗按钮触发获取手机号事件。记录一下。

具体代码如下:

业务代码中:

在业务代码中引入对话组件即可

对话框可见='{{dialogVisible}} '显示页脚=“{ { FooterVibled } }”标题='测试一下视图类='对话框-正文'槽='对话框-正文'视图类='对话框-内容'申请获取你微信绑定的手机号/view view class=' dialog-footer ' slot=' dialog-footer ' button class=' cancel-BTN ' bind tap=' close '取消/button button open-type=' getPhoneNumber ' bind getPhoneNumber=' getPhoneNumber ' class=' confirm-BTN '授权/按钮/视图/视图/对话对话框组件:

成分下面新建对话。注意是成分不是页面,因为要作为组件引入到页面中

dialog.wxml:

需要传入四个属性

可见:是否显示弹窗

标题:标题

显示关闭:是否显示右上角关闭按钮

显示页脚:是否显示底部按钮

!-组件/对话框/对话框。wxml-view class=' dialog-custom ' wx : if=' { { visible } } ' view class=' dialog-mask ' bind tap=' click mask '/view class=' dialog-main ' view class=' dialog-container ' view class=' dialog-container ' view class=' dialog-container ' view class=' dialog-container _ _ title ' wx : if=' { { title。长度{ 0 } } ' view class=' title-label ' { title } }/view class=' title-icon ' image wx 3: if=' '取消/view view class=' dialog-container _ _ footer _ _ confirm ' bind tap=' confirm '确定/view/view/view/view/view/view/view对话框。射流研究…

组件({/***组件的属性列表*/properties : { visible : { type :布尔值,值:假}、宽度: {类型:数字,值: 85}、位置: {类型:字符串,值: '中心' }、标题: {类型:字符串,值3: ' ' }、show closes : { type 3: Boolean,值组件的初始数据*/data: {},选项: { multipleslot 3360 true },/***组件的方法列表*/methods : { click mask(){ this。setdata({ visible : false });},close(){ this。setdata({ visible : false });},取消(){ this。setdata({ visible : false });这个。triggerevent(' cancel ');},确认(){这。setdata({ visible : false });这个。触发事件('确认');} } })对话框。js :声明是组件就行

{“组件”:为真,“使用组件”: { } }对话框。页面样式表

钢性铸铁可以根据自己喜好的样式调整,注意面具遮罩层的z指数高一点,确保在最上层

/*组件/对话框/dialog.wxss */.对话框-自定义{宽度: 100大众高度: 100%;绝对位置:左: 0;top : 0;z指数: 9999;}.对话框掩码{位置:固定;top : 0;左: 0;右: 0;底部: 0;z指数: 10000;宽度: 100大众;高度: 100%;background: rgba(0,0,0,0.3);}.对话框-主{位置:固定;z指数: 10001;前:名50%;左: 0;右: 0;宽度大众: 85;height : auto rgin : auto transform : translateY(-50%);}.对话框容器{ margin: 0 auto背景# fffz-index : 10001;边界半径: 3px盒子尺寸:边框盒子;padding: 40rpx }。dialog-container _ _ title { width : 100%;高度: 50 rpx线高: 50 rpx保证金-底部: 20 rpx相对位置:}.对话框-容器_ _标题title-label { display : inline-block;宽度: 100%;高度: 50 rpx线高: 50 rpxfont-size : 36rpxcolor: # 000文本对齐:中心;}.对话框-容器_ _标题title-icon { width : 34 rpx;高度: 50 rpx绝对位置:top : 0;右: 0;}.对话框-容器_ _标题。标题图标图像{ width : 34 rpx h8 : 34 rpx }。dialog-container _ _ body { padding-top : 10 rpx;font-size : 32 rpx线高: 50 rpx}.dialog-container _ _ footer { height : 76 rpx;线高: 76rpxfont-size : 32 rpx文本对齐:中心;边框-top: 1px实心# f1f1f1绝对位置:底部: 0;左: 0;右: 0;}.对话框容器_ _页脚。对话框-容器_ _页脚_ _取消{宽度:50%;color: # 999display:内联块;}.对话框容器_ _页脚{绝对位置: }后的对话框-容器_ _页脚_ _取消3360:右: 50%;底部: 0;内容: " ";宽度: 2 rpx 8 : 76 rpx背景# f1f1f1}。对话框容器_ _页脚对话框-容器_ _页脚_ _确认{ color : # 3b 98 F7;宽度: 50%;显示器:内联块;文本对齐:中心;}

/*组件/对话框/dialog.wxss */.对话框-自定义{宽度: 100大众高度: 100%;绝对位置:左: 0;top : 0;z指数: 9999;}.对话框掩码{位置:固定;top : 0;左: 0;右: 0;底部: 0;z指数: 10000;宽度: 100大众;高度: 100%;background: rgba(0,0,0,0.3);}.对话框-主{位置:固定;z指数: 10001;前:名50%;左: 0;右: 0;宽度大众: 85;height : auto rgin : auto transform : translateY(-50%);}.对话框容器{ margin: 0 auto背景# fffz-index : 10001;边界半径: 3px盒子尺寸:边框盒子;padding: 40rpx }。dialog-container _ _ title { width : 100%;高度: 50 rpx线高: 50 rpx保证金-底部: 20 rpx相对位置:}.对话框-容器_ _标题title-label { display : inline-block;宽度: 100%;高度: 50 rpx线高: 50 rpxfont-size : 36rpxcolor: # 000文本对齐:中心;}.对话框-容器_ _标题title-icon { width : 34 rpx;高度: 50 rpx绝对位置:top : 0;右: 0;}.对话框-容器_ _标题。标题图标图像{ width : 34 rpx h8 : 34 rpx }。dialog-container _ _ body { padding-top : 10 rpx;font-size : 32 rpx线高: 50 rpx}.dialog-container _ _ footer { height : 76 rpx;线高: 76rpxfont-size : 32 rpx文本对齐:中心;边框-top: 1px实心# f1f1f1绝对位置:底部: 0;左: 0;右: 0;}.对话框容器_ _页脚。对话框-容器_ _页脚_ _取消{宽度:50%;color: # 999display:内联块;}.对话框容器_ _页脚{绝对位置: }后的对话框-容器_ _页脚_ _取消3360:右: 50%;底部: 0;内容: " ";宽度: 2 rpx 8 : 76 rpx背景# f1f1f1}。对话框容器_ _页脚对话框-容器_ _页脚_ _确认{ color : # 3b 98 F7;宽度: 50%;显示器:内联块;文本对齐:中心;}总结

以上是边肖介绍的微信小程序封装的自定义弹出窗口的实现代码。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

版权声明:微信小程序封装自定义弹窗的实现代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。