热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序实现简易封装弹窗

这篇文章主要为大家详细介绍了微信小程序实现简易封装弹窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的

本文实例为大家分享了微信小程序实现简易封装弹窗的具体代码,供大家参考,具体内容如下

1.建立组件文件夹

2.编写组件内容

 

  demo 01 heihzi
  点击 打开弹窗


  
    
      详情信息
      {{item}}
    
  
// components/dialong/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    title: {
      type: String
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    show: false,
    zIndex: 0,
    ablClickMask: true,
    hasClsBtn: false,
    title: ""
  },

  /**
   * 组件的方法列表
   */
  methods: {
    open(params, cb, fb) {
      params = params || {}
      this.setData({
        show: true,
        zIndex: params.zIndex || 0
      })
      this.data._cb = cb
      this.data._fb = fb
    },
    close() {
      this.setData({
        show: false
      })
    },
    onMaskHide() {
      if (this.data.ablClickMask) {
        this.close()
        this.triggerEvent("maskEvt")
      }
    }
  }
})

样式一定要加 不然组件弹窗出不来

/* components/dialong/index.wxss */
/* 弹窗 */

.pop {
  width: 80%;
  background: #fff;
  border-radius: 12rpx;
  height: auto;
  max-height: 70vh;
  margin: auto;
  position: absolute;
  position: fixed;
  left: 0;
  right: 0;
  top: 20vh;
  opacity: 0;
  overflow: hidden;
  transform: scale(0.5, 0.5);
  -webkit-transform: scale(0.5, 0.5);
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
}

.pop-enter {
  opacity: 1;
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  z-index: 1000;
}

.mask {
  width: 100vw;
  height: 100vh;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 700;
}

.title {
  text-align: center;
  padding: 20rpx 0;
  border-bottom: 1rpx solid #CCC;
}

组件的引入 index .json

 "usingComponents" : {
    "dialog" : "/components/dialong/index"
  },

3.页面中使用


  demo 01 heihzi
  点击 打开弹窗


  
    
      详情信息
      {{item}}
    
  
//index.js
//获取应用实例
const app = getApp()
Page({
  data: {
  },
  onLoad: function () {
  
  },
  onDialog () {
    console.log("打开我啊")
    this.dialog.open()
  },
  onReady () {
    this.dialog = this.selectComponent("#dialog")
  }
})

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


推荐阅读
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文详细介绍了如何在 Android 应用中获取系统的版本号,包括具体的应用场景和实现步骤。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在探讨如何在Android的TextView中实现多彩文字与多样化字体效果时,本文提供了一种不依赖HTML技术的解决方案。通过使用SpannableString和相关的Span类,开发者可以轻松地为文本添加丰富的样式和颜色,从而提升用户体验。文章详细介绍了实现过程中的关键步骤和技术细节,帮助开发者快速掌握这一技巧。 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
author-avatar
灰常奈-ping__
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有