话不多说直接上代码

目录

1、wxml

2、js

3、wxss

4、json

5、效果展示(具体内容可以自定义)


1、wxml

<!--pages/components/confirmBox/confirmBox.wxml-->
<wxs src="../../../filter/urlFilter.wxs" module="filter" />
<view class="confirmBox_warp" style="{{opt.wrapStyle}}" wx:if="{{isShow}}"><view class="count" style="width:{{opt.widths?opt.widths:'600'}}rpx"><view style="" class="paddClass {{opt.showCancel || opt.showConfirm? 'paddingNo': ''}}"><!-- 关闭按钮 --><view class="confirm_close_cont" bindtap="closeConfirm" wx:if="{{!opt.close}}"><image  class="confirm_close" mode="widthFix" bindtap="hide" src="{{filter.imgFullPath('/images/icon-close.png')}}"></image></view><!-- header --><view class="headers" style="{{opt.headerStyle}}" wx:if="{{opt.header}}">{{opt.header}}</view><view class="body"><slot name="top"></slot><slot name="center"></slot><slot name="bottom"></slot></view></view><view class="footer" style="{{opt.footerStyle}}" wx:if="{{opt.showCancel || opt.showConfirm}}"><view class="li" wx:if="{{opt.showCancel && !opt.showCancelContact}}" bindtap="cancelCb" style="{{opt.cancelStyle}}">{{opt.cancelText}}</view><view class="li" wx:if="{{opt.showCancelContact}}"  style="{{opt.cancelStyle}}"><button class="contactBtn" open-type="contact">{{opt.cancelText}}</button></view><view class="li" wx:if="{{opt.showConfirm && !opt.showConfirmContact}}" bindtap="confirmCb" style="{{opt.confirmStyle}}">{{opt.confirmText}}</view><view class="li" wx:if="{{opt.showConfirmContact}}"  style="{{opt.confirmStyle}}"><button class="contactBtn" open-type="contact">{{opt.confirmText}}</button></view></view></view>
</view>

2、js

// pages/components/confirmBox/confirmBox.js
Component({options: {multipleSlots: true // 允许使用插槽},/*** 组件的属性列表*/properties: {isShow:{type:Boolean,value:false},opt:{type:Object,value:{wrapStyle: '',widths:'',close:false, //默认显示关闭按钮header:'',showCancel: false,showCancelContact: false,showConfirmContact: false, showConfirm: false,cancelText: '取消',confirmText: '确定',confirmStyle: '',cancelStyle: ''},observer:function(newVal,oldVal){this.data.opt = {...oldVal,...newVal}this.setData({opt:this.data.opt})}}},/*** 组件的初始数据*/data: {},/*** 组件的方法列表*/methods: {closeConfirm:function (){this.setData({isShow:false})},cancelCb: function(){this.triggerEvent('cancelCb');},confirmCb:function(){this.triggerEvent('confirmCb');}}
})

3、wxss

/* pages/components/confirmBox/confirmBox.wxss */
.confirmBox_warp{position: fixed;top: 0rpx;left: 0rpx;height: 100%;width: 100%;background-color: rgba(0, 0, 0, 0.3);z-index: 11111111111199;
}
.confirmBox_warp .count{width: 600rpx;position: absolute;top: 50%;left: 50%;transform: translateX(-50%) translateY(-50%);background-color: #ffffff;border-radius: 16rpx;}
.confirmBox_warp .count .paddClass{padding: 60rpx 40rpx;
}
.confirmBox_warp .count .paddingNo {padding-bottom: 0;
}
.confirmBox_warp .count .confirm_close_cont{padding: 20rpx;position: absolute;top: 0rpx;right: 0rpx;
}
.confirmBox_warp .count .confirm_close{width: 21rpx;height: 21rpx;
}
.confirmBox_warp .count .headers{text-align: center;color: #333333;font-size: 32rpx;line-height: 44rpx;
}
.confirmBox_warp .footer {display: flex;justify-content: space-between;height: 100rpx;border-top: 0.5px solid #E3E3E3;margin-top: 20rpx;/* margin-bottom: 10rpx; */
}
.confirmBox_warp .footer .li {flex: 1;border-right: 0.5px solid #E3E3E3;text-align: center;line-height: 100rpx;color: #333333;font-size: 32rpx;
}
.confirmBox_warp .footer .li .contactBtn{background-color: #ffffff;text-align: center;line-height: 80rpx;padding: 0rpx;/* color: #FE4561; */font-size: 32rpx;font-weight: normal;    width: 100%;
}
.confirmBox_warp .footer .li:last-child {border: none;
}

4、json

{"component": true,"usingComponents": {}
}

5、效果展示(具体内容可以自定义)

可以参考--文章:微信小程序获取定位、通过地点文本获取经纬度进行导航

微信小程序 自定义弹框组件相关推荐

  1. 微信小程序自定义弹框+生成二维码功能

    最近在做小程序的功能,需求是弹框生成二维码功能,所以根据需求自定义了一个弹框组件,后续其他地方也可以用到. 最后效果图如下 dialog部分 <!--components/dialog/dial ...

  2. 微信小程序日历弹框组件

    参考文章:https://blogai.cn/posts/46 calendar.json {"usingComponents": {},"disableScroll&q ...

  3. 微信小程序自定义模态框,官方版本与自定义可扩展版本

    微信小程序自定义模态框,官方版本与自定义可扩展版本 提示:文章最后有源码,可自取 文章主要通过模仿官方的模态框进行自定义模态框的设计,我将会先讲述原理,然后给出源码,最后指出一些需要注意的地方 提示: ...

  4. 微信小程序自定义搜索框(searchbar)

    微信小程序自定义搜索框(searchbar) 样式截图展示: 功能描述:微信小程序页面需要加入搜索框时,可以直接引用到页面中使用,当用户未输入任何关键字时如第一张图所示,当用户输入要搜索的关键字时如第 ...

  5. 微信小程序下拉框插件_微信小程序下拉框组件使用方法详解

    本文实例为大家分享了微信小程序下拉框组件的使用方法,供大家参考,具体内容如下 适用场景 1.省市三级联动 2.出生日期选择 3.性别选择 4.一般性的下拉选择等 一.省市三级联动使用 注意mode = ...

  6. 下拉多选框 微信小程序_微信小程序下拉框组件使用方法详解

    本文实例为大家分享了微信小程序下拉框组件的使用方法,供大家参考,具体内容如下 适用场景 1.省市三级联动 2.出生日期选择 3.性别选择 4.一般性的下拉选择等 一.省市三级联动使用 注意mode = ...

  7. 微信小程序自定义导航栏组件

    效果图 首先要先在 json文件里加上 "navigationStyle":"custom", 这句,去掉原生的自定义导航栏 一.子组件-wxml <vi ...

  8. 微信小程序自定义提示框制作的简单方法

    微信小程序自定义提示框制作的简单方法 下面的时候提示框的结构 wxml部分 <!-- 提示框 --> <view class="showToast" wx:if= ...

  9. 下拉多选框 微信小程序_微信小程序下拉框组件使用方法

    这篇文章主要为大家详细介绍了微信小程序下拉框组件的使用方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正.[推荐教程:小程序开发教程] 适用场景 ...

最新文章

  1. R语言包_Matrix
  2. CycliBarriar和CountdownLatch(计数器)
  3. Geek爱旅行 - 穿越时间的旅行
  4. 使用ActiveMQ –具有故障转移协议的“主/从”配置
  5. 关于Config.ARGB_8888、Config.ALPHA_8、Config.ARGB_4444、Config.RGB_565的理解
  6. nebula模拟器_nebula模拟器中文金手指版本
  7. 【java】SpringBoot新特性 节省百分之95﹪内存占用
  8. 使用UIActivityIndicatorView 和多线程
  9. springboot pom.xml实战(com.mchange与c3p0配置)
  10. 将 instance 连接到 second_local_net - 每天5分钟玩转 OpenStack(85)
  11. 电子证件照尺寸怎样裁剪?怎么把照片裁剪成2寸?
  12. stm32智能避障小车(三)之L298N
  13. mov格式怎么在线转换成mp4格式
  14. 转:时域错误隐藏个人理解_Phinex的博客_雅虎博客_雅虎空间
  15. 计算机无法传输文件,qq无法传输文件_电脑文件无法通过QQ发送怎么办
  16. 使用R语言进行协整关系检验
  17. 百度平台上的网络舆情信息怎么搜查的方法
  18. error MSB4184: 无法计算表达式
  19. 云桌面初体验 之 爱上无影云桌面
  20. 如何使用hub.docker.com

热门文章

  1. 高中数学基础02:反函数与基本初等函数
  2. 任务宝,聚合任务网站数据接口和APP
  3. 废旧平板电脑改装HDMI、VGA显示器
  4. 白酒品牌江小白好像没有以前活跃了,最直接的感觉是很久没有看到其营销文案
  5. OOP (Objects and Classes )
  6. mysql根据父节点查询所有的子节点以及根据子节点往上查询所有父节点
  7. 面试阿里被问到JVM,不逼逼赖赖,直接盘给面试官看!!!
  8. 实战中黄金票据的制作
  9. 华为+4x+410处理器+android+5.0,华为畅享5的CPU是什么?华为畅享5的CPU主频是多少?...
  10. 【DevOps】全流程记录:CentOS7安装Gitlab服务器