微信小程序自定义多功能模态对话框案例实战

   这段时间刚好在做微信小程序相关项目开发,发现微信官方提供的小程序弹窗功能有限, 有些功能根本没法实现,这篇文章主要介绍微信小程序项目实战之自定义模态对话框wxDialog,处理一些复杂的弹窗逻辑业务,采用了仿原生、wxui写法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下哈~~~31.gif


先来个demo预览页面:

6d476e755da9511dc856667f1ba0d6581f79bc43


api配置参数如下:

var config = {
  type: '',           //设置弹窗显示类型 ->默认:0 (0表示信息框,1表示页面层)
  title: '',          //标题
  content: '',        //内容
  style: '',          //自定弹窗样式
  skin: '',           //自定弹窗显示风格 ->目前支持配置 toast(仿微信toast风格) footer(底部对话框风格)、msg(普通提示)
  icon: '',           //弹窗小图标(success | loading)

  shade: true,        //是否显示遮罩层
  shadeClose: true,   //是否点击遮罩时关闭层
  anim: 'scaleIn',    //scaleIn:缩放打开(默认)  fadeIn:渐变打开  fadeInUpBig:由上向下打开 fadeInDownBig:由下向上打开  rollIn:左侧翻转打开  shake:震动  footer:底部向上弹出
  time: 0,            //设置弹窗自动关闭秒数

  btns: null          //不设置则不显示按钮。如果只需要一个按钮,则btn: '按钮',如果有两个,则:btn: ['按钮一', '按钮二']
};

wxml模板如下:

<template name="dialog">
  <block>
    <view class="popui__modal-panel" wx:if="{{showModalStatus}}">
      <view wx:if="{{shade}}" class="popui__modal-mask" data-shadeClose="{{shadeClose}}" catchtap="hideModal"></view>
      <view class="popui__panel-main">
        <view class="popui__panel-section">
          <view class="popui__panel-child anim-{{anim}} {{skin ? 'popui__' + skin : ''}}" style="{{style}}">
            <!-- //标题区 -->
            <view class="popui__panel-tit" wx:if="{{title}}">{{title}}</view>
            <!-- //内容区 -->
            <view class="popui__panel-cnt">
              <view wx:if="{{skin == 'toast' && icon}}" class="popui__toast-icon"><icon type="{{icon}}" size="30" color="#fff" /></view>
              {{content}}
            </view>
            <!-- //按钮区 -->
            <block wx:if="{{btns}}">
              <view class="popui__panel-btnwrap">
                <view class="popui__panel-btn">
                <block wx:for="{{btns}}">
                  <text class="btn" bindtap="btnTapped" data-index="{{index}}" style="{{item.style}}">{{item.text}}</text>
                </block>
                </view>
              </view>
            </block>
          </view>
        </view>
      </view>
    </view>
  </block>
</template>

小程序弹窗截图demo:

8937f3738a65b0ed838df5ec688bd53e216e9a84


b50ca9a0036990ed002fccf3647a62001cbf2d03


db86efd885da0914ab4c55c4485192836bb027a9


6441c0a16e0f5651d0dea33a798890938f362d8e


fc635a32f7f31f4033939685f106db514605ae2a


6cc68aba12afa91ed3adad283437f0e3cf8f16df


8907c23c6e080bda336b66021418bc8f9da31170


20b72ddfd00e88d275abbf7e677eb698ab0e8f00


===主张原创开发,拒绝数量、追求质量!
===建立营销型网站,全新清新风格,协助每个用户更加高效的工作。
===追求完美是我们一贯的信念。我们重视每一个细节,每个作品都细心雕琢,精确到像素级。

——>>> QQ:282310962    微信:xy190310


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值