广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序弹窗组件使用详解
  • 152
分享到

微信小程序弹窗组件使用详解

2024-04-02 19:04:59 152人浏览 泡泡鱼
摘要

介绍 最近在开发小程序应用, 发现小程序当中有关于组件的介绍非常的少, 当前自己做的项目当中,有出现过这种情况, 所以自己就封装了一个小程序的弹窗组件, 现在把自己的心得分享给大家,

介绍

最近在开发小程序应用, 发现小程序当中有关于组件的介绍非常的少, 当前自己做的项目当中,有出现过这种情况, 所以自己就封装了一个小程序的弹窗组件, 现在把自己的心得分享给大家, 大家一起来学习

效果图

需求背景

项目需求是需要在页面上通过点击按钮, 然后弹出弹窗蒙层; 因为小小程序当中经常会用到弹窗, 因此这里我直接将弹窗封装成了一个组件, 下次使用的时候,直接调用就可以了。

实现步骤

1、在微信小程序当中, 在当前项目当中, 新建一个component文件夹, 这个文件夹专门用来存放我们要使用的组件, 然后在component文件夹下右击, 新建文件夹popup, 这里就是我们要用的弹窗组件的文件夹, 再右击popup文件夹, 选择新建component, 然后直接输入popup即可, 小程序内部会为我们自动生成.wxss , wxml , JSON , js等模板文件, 如下图所示,popup文件夹下的文件为我们的组件,index文件夹下的文件为首页上页面:

2、popup弹窗组件的代码部分;

popup.wxml

<view class="wx-popup" style="margin:-{{windowHeight/2}}px 0 0 -{{windowWidth/2}}px" hidden="{{flag}}">
  <view class='popup-container'>
    <view class="wx-popup-title">{{title}}</view>
    <!-- <view class="wx-popup-con" >{{content}}</view> -->
    <view class="wx-popup-con" >
      <text>{{content_leftText}}</text>
      <text class="content_money">{{content_money}}</text>
      <text>{{content_rightText}}</text>
    </view>
    <view class="wx-popup-btn">
      <view class="closeBtn">
        <view class="close-popup" bindtap='_close'>
          <view>X</view>
        </view>
      </view>
    </view>
  </view>
</view>

popup.wxss

.wx-popup {
  position: fixed;
  left: 0;
  bottom: 0;
  top: 0;
  z-index: 2000;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .6);
}
.popup-container {
  position: fixed;
  left: 10%;
  top: 20%;
  width: 80%;
  max-width: 600rpx;
  border-radius: 20rpx;
  box-sizing: bordre-box;
  background: #fff;
  z-index: 2000;
}
.wx-popup-title {
  width: 100%;
  padding: 28rpx;
  text-align: center;
  font-size: 36rpx;
  font-weight: bold;
  border-bottom: 5rpx solid #9EA3BA;
  box-sizing: border-box;
}
.wx-popup-con {
  margin: 50rpx 10rpx;
  text-align: center;
  padding: 0 86rpx;
}
.wx-popup-con text {
  padding-bottom: 10rpx;
}
.content_money {
  color: #FFB258;
}
.wx-popup-btn {
  display: flex;
  justify-content: space-around;
  margin-bottom: 40rpx;
}
.wx-popup-btn text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30%;
  height: 88rpx;
  border: 2rpx solid #ccc;
  border-radius: 88rpx;
}
.wx-popup-btn .closeBtn {
  position: fixed;
  left: 45%;
  bottom: 30%;
}
.wx-popup-btn .close-popup {
  position: relative;
  height: 80rpx;
  width: 80rpx;
  border: 5rpx solid #fff;
  border-radius: 50%;
}
 .wx-popup-btn .close-popup view {
   position: absolute;
   left: 30%;
   top: 8%;
   font-size: 50rpx;
   color: #fff;
 }

popup.js

Component({
  options: {
    multipleSlots: true // 在组件定义时的选项中启用多slot支持
  },
  
  properties: {
    title: {            // 属性名
      type: String,     // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
      value: '标题'     // 属性初始值(可选),如果未指定则会根据类型选择一个
    },
    // 弹窗内容
    content_leftText: {
      type: String,
      value: '内容'
    },
    content_money: {
      type: String,
      value: '内容'
    },
    content_rightText: {
      type: String,
      value: '内容'
    },
  },
  
  data: {
    flag: true,
  },
  
  methods: {
    //隐藏弹框
    hidePopup: function () {
      this.setData({
        flag: !this.data.flag
      })
    },
    //展示弹框
    showPopup () {
      this.setData({
        flag: !this.data.flag
      })
    },
    
    _close() {
      this.triggerEvent("close");
    }
  }
})

3、完成模板文件的工作后, 接下来就是在首页当中对这个组件进行配置, 在index文件夹当中对index.json文件进行配置, 代码如下:

4、在首页当中进行使用,代码如下:

<view class="index_popup">
    <view class="btn-area">
        <button type="primary" bindtap="showPopup">点击预测价钱</button>
    </view>
    <popup id='popup'
        title='预测价格' 
        content_leftText='您好,预测价格为'
        content_money='{{content_money}}' 
        content_rightText='元 , 预测价格和实际价格存在偏差,请耐心等候专业顾问为您服务。'  
        bind:close="_close">
    </popup>
</view>

5、index.wxss的样式

.index_popup .btn-area button {
  background-image: linear-gradient(to right, rgba(36, 162, 255), rgba(36, 172, 255), rgba(36, 192, 255));
  font-size: 34rpx;
  font-weight: nORMal;
  border-radius: 50rpx;
  padding: 18rpx 30rpx;
  margin-top: 100rpx;
}

6、index.js文件里, 配置对应的点击事件, 还有操作数据

// index.js
// 获取应用实例
const app = getApp()
Page({
  data: {
    content_money: '1000万'
  },
  onReady: function () {
    //获得popup组件
    this.popup = this.selectComponent("#popup");
  },
  showPopup() {
    this.popup.showPopup();
  },
  //取消事件
  _close() {
    console.log('你点击了关闭按钮');
    this.popup.hidePopup();
  },
  onLoad() {
  },
})

至此, 就全部结束了, 当点击首页index.wxml上的按钮时, 弹出弹窗组件, 点击弹窗页面下的X按钮, 可以关闭弹窗。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 微信小程序弹窗组件使用详解

本文链接: https://www.lsjlt.com/news/153604.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序弹窗组件使用详解
    介绍 最近在开发小程序应用, 发现小程序当中有关于组件的介绍非常的少, 当前自己做的项目当中,有出现过这种情况, 所以自己就封装了一个小程序的弹窗组件, 现在把自己的心得分享给大家,...
    99+
    2022-11-13
  • 微信小程序弹窗组件如何使用
    本篇内容主要讲解“微信小程序弹窗组件如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序弹窗组件如何使用”吧!效果图需求背景项目需求是需要在页面上通过点击按钮, 然后弹出弹窗蒙层; ...
    99+
    2023-07-02
  • 微信小程序如何实现动画弹窗组件
    这篇文章主要介绍了微信小程序如何实现动画弹窗组件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基本效果如下:具体实现如下:第一步:新建一个 ...
    99+
    2022-10-19
  • 微信小程序如何实现自定义弹窗组件
    本篇内容主要讲解“微信小程序如何实现自定义弹窗组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序如何实现自定义弹窗组件”吧!首先,放一下,最终的效果图:这是我们最后要实现的效果那么,首...
    99+
    2023-07-02
  • 微信小程序实现底部弹窗
    本文实例为大家分享了微信小程序实现底部弹窗的具体代码,供大家参考,具体内容如下              &nb...
    99+
    2022-11-13
  • 微信小程序复选框组件使用详解
    在工作中频繁用到复选框,于是自己写了个组件,增加其复用性,提高效率。先看效果图: 提交后得到一个选中项的id组成的数组 下边直接上代码: 代码地址为:components/chec...
    99+
    2022-11-13
  • 微信小程序如何实现自定义模态弹窗组件
    这篇文章主要介绍微信小程序如何实现自定义模态弹窗组件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!小程序自带一个showModal弹窗,调用很简单,但是限制很多,title有字数限制...
    99+
    2022-10-19
  • 微信小程序做全局登录弹窗
    需求:在任意需要弹出登录的页面,后台返回需要登录状态码,弹出登录弹窗进行登录,并刷新当前页面 过程:因为微信小程序无法封装一个全局组件通过方法全局调用。因此只能封装一个公共组件,在需要弹窗的页面注册并...
    99+
    2023-10-01
    微信小程序 小程序 微信 前端
  • 微信小程序实现自定义弹窗组件的示例代码
    目录编写组件代码Dialog.wxmlDialog.jsDialog.wxss调用自定义组件上一篇中说的是小程序自带的弹窗组件,今天,我们来试试小程序的自定义组件,我们自定义一个带确...
    99+
    2022-11-13
  • 微信小程序---微信授权弹窗实现(组件,需要地方直接调用即可)
    一、展示效果 二、使用方法:  在资源处下载后 在调用页面 json: "usingComponents": {    "wx_empower": "/Component/wx_empower/wx_empower"  } wxml: ...
    99+
    2023-09-06
    微信小程序 微信 小程序
  • 【微信小程序】wx.requestSubscribeMessage无法唤起小程序订阅弹窗
    报错信息:requestSubscribeMessage:fail can only be invoked by user TAP gesture. 报错原因:在某个场景的方法里面调用而不是直接通过用户点击 解决方法:一般可做成显示一个弹框...
    99+
    2023-08-17
    微信小程序
  • 微信小程序常用表单组件的使用详解
    目录1、常用表单组件1.1button1.2checkbox1.3input1.4label1.5form1.6radio1.7slider1.8switch1.9textarea2...
    99+
    2022-11-13
  • 【微信小程序】常用组件及基本使用详解
    🖐本节学习目标: ✅学会使用常用的组件 文章目录 1.常用的容器类组件的使用1.view组件的基本使用2.scroll-view组件的基本使用3.swiper和swiper-item组件的基本使用 2.常用的...
    99+
    2023-08-17
    微信小程序 小程序
  • 微信小程序自定义用户登录弹窗
    本文实例为大家分享了微信小程序自定义用户登录弹窗的具体代码,供大家参考,具体内容如下 view <button   class="btn" bindtap="powerDr...
    99+
    2022-11-13
  • 微信小程序实现文本输入弹窗
    场景 用户进入界面弹出输入窗口,需要用户输入内容,如果取消则跳转到指定界面,重新进入还会弹出窗口,只有输入正确内容才能正式进入此界面 实现 wxml <view class="...
    99+
    2022-11-13
  • 微信小程序实现点击出现弹窗
    本文实例为大家分享了微信小程序实现点击出现弹窗的具体代码,供大家参考,具体内容如下 1.现在page文件里面定义一个dh的文件,然后在component定义一个可复用的组件为disl...
    99+
    2022-11-13
  • 微信小程序实现简易封装弹窗
    本文实例为大家分享了微信小程序实现简易封装弹窗的具体代码,供大家参考,具体内容如下 1.建立组件文件夹 2.编写组件内容  <!--index.wxml--> <...
    99+
    2022-11-12
  • 小程序使用uview中的u-popup弹窗组件
    小程序封装弹窗组件(使用uview框架中的u-popup弹窗组件) 效果展示 代码结构 结构分析 最外层页面index.vue-可点击"选择优惠券",进入弹窗组件selector.vu...
    99+
    2023-09-15
    小程序 vue.js
  • 微信小程序常用视图容器组件使用详解
    目录1、组件概述2、常用的试图容器组件2.1 view2.2 scroll-view2.3 swiper1、组件概述 组件是视图层基本的组成单元,具备UI风格样式以及特定的功能效果。...
    99+
    2022-11-13
  • 微信小程序几种常用弹窗提示方法
    1.提示文字 可以设置显示时间(仅提示时使用)duration设置时间 不显示icon,此时 title文字最多可显示两行 也可以显示icon,显示icon文字最多显示 7 个汉字长度 icon常用的有:success、error、l...
    99+
    2023-08-31
    微信小程序 小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作