f2 柱状图滚动 钉钉小程序_详解钉钉小程序组件之自定义模态框(弹窗封装实现)...

背景

开发钉钉小程序中需要用到模态框 文档里也没有 自己搞一个…

效果大概长这个样

点击指定按钮,弹出模态框,里面的内容可以自定义,可以是简单的文字提示,也可以输入框等复杂布局。操作完点击取消或确定关闭。

开始封装

上图所示文件内容放入项目即可 (路径自己高兴着来)

modal.js

内容不多 但都是精华

/**

* 自定义modal浮层

* 使用方法:

*

你自己需要展示的内容

属性说明:

show: 控制modal显示与隐藏

height:modal的高度

onCancel:点击取消按钮的回调函数

onSubmit:点击确定按钮的回调函数

*/

Component({

/**

* 组件的属性列表

*/

props: {

// modal的默认高度

height: '60%',

//是否显示modal

show: false,

// submit()

onSubmit:(data) => console.log(data),

// onCancel()

onCancel:(data) => console.log(data),

},

/**

* 组件的初始数据

*/

data: {

},

/**

* 组件的方法列表

*/

methods: {

clickMask() {

// this.setData({show: false})

},

cancel(e) {

// this.setData({ show: false });

this.props.onCancel(e);

},

submit(e) {

// this.setData({ show: false });

this.props.onSubmit(e);

}

}

})

代码使用 props 属性设置属性默认值, 调用的时候传递指定值即可

modal.json

这就是个申明 啥也不是

{

"component": true,

"usingComponents": {}

}

开发者需要在 .json 文件中指明自定义组件的依赖

modal.acss

这玩意我一个写后端的调了半天才勉强看得下去 求大佬改版发我

.mask{

position: absolute;

top: 0;

bottom: 0;

width: 100%;

height: 100%;

display: flex;

justify-content: center;

align-items: center;

background-color: rgba(0,0,0,0.4);

z-index: 9999;

}

.modal-content{

flex-direction: column;

width: 90%;

/* height: 80%; */

position: fixed;

top: 10%;

left: 5%;

background-color: #fff;

border-radius: 10rpx;

}

.modal-btn-wrapper{

display: flex;

flex-direction: row;

height: 100rpx;

line-height: 100rpx;

background-color: #fff;

border-radius: 10rpx;

border-top: 2rpx solid rgba(7,17,27,0.1);

}

.cancel-btn, .confirm-btn{

flex: 1;

height: 100rpx;

line-height: 100rpx;

text-align: center;

font-size: 32rpx;

}

.cancel-btn{

border-right: 2rpx solid rgba(7,17,27,0.1);

}

.main-content{

flex: 1;

height: 100%;

overflow-y: hidden;

}

modal.axml

敲重点 slot 标签

可以将 slot 理解为槽位,default slot就是默认槽位,如果调用者在组件标签之间不传递 axml,则最终会将默认槽位渲染出来。而如果调用者在组件标签之间传递有 axml,则使用其替代默认槽位,进而组装出最终的 axml 以供渲染。

简而言之 你在调用的时候所编辑的axml都被塞进slot里面了

取消

确定

使用

这个相对简单鸟

page/xx/page.json

首先申明我要调用这个组件 标签名我就叫modal 路径自己别搞错就好

{

"usingComponents": {

"modal": "/page/components/modal/modal"

}

}

page/xx/page.axml

就是这样 喵~

你自己的布局

page/xx/page.js

这个你就写你自己的逻辑就没毛病了

let app = getApp();

Page({

data: {

showSearchModal: false,

},

onLoad() {

},

searchModalCancel(){

this.setData({

showSearchModal: false,

});

dd.alert({

title: '提示',

content: '用户点击了取消',

});

},

searchModalSubmit(){

this.setData({

showSearchModal: false,

});

dd.alert({

title: '提示',

content: '用户点击了提交',

buttonText: '我知道了',

});

},

});

小结

激动的心,颤抖的手。。。

总之先阅读官方文档

钉钉开放平台 => 前端API => 小程序 => 框架 => 自定义组件

https://ding-doc.dingtalk.com/doc#/dev/develop-custom-component

本案例相对简单,业务复杂的需求看看文档基本都能实现。

总结

到此这篇关于钉钉小程序组件之自定义模态框(弹窗封装实现)的文章就介绍到这了,更多相关小程序组件自定义模态框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python List reverse()方法

描述 reverse() 函数用于反向列表中元素。 语法 reverse()方法语法: list.reverse() 参数 • NA。 返回值 该方法没有返回值,但是会对列表的元素进行反向排序。 实例 以下实例展示了 reverse()函数的使用方法: #!/usr/bin/python aList [12…

你的第一个Django程序

本文使用Pycharm、Django 2.0.9、Python 3.6环境,本文大纲 建立Django项目建立页面什么是URLconf和ROOT_URLCONFDjango怎么处理URL请求关于URL尾部的“/” 反斜线1. 建立一个Django项目 Application name如果填写会自动帮你建立一个APP,而且APP是必须的&…

闪电对计算机或网络设备的威胁,计算机网络的雷电防护_计算机网络

摘?要 雷电对计算机网络稳定性造成了很多的危害。雷电主要通过电源线、网络线和接地反击的途径来侵入设备,造成设备损坏。如何来确保设备的安全,本文从网络系统的防护、网络线路的防护、及其防雷工程中需要特别考虑过电压防护几个方面提出了防护措施。关…

分割法和填补法_“聚合”法与“分割”法

一门新的思维与实践的科学“聚合”法是宗脉学中“宗脉”关系的根本原则,这是一门新的思维与实践的科学,它的研究角度和方法都不同于任何以往唯物主义与唯心主义学派。“宗”即是整体,本质,聚和,“脉”是本质的分支与脉…

Python join()方法

描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 语法 join()方法语法: str.join(sequence) 参数 • sequence – 要连接的元素序列。 返回值 返回通过指定字符连接序列中元素后生成的新字符串。 实例 以下实例展示了join()的使用方…

[USACO 2017 Feb Gold] Tutorial

Link: 传送门 A: 分层图最短路&#xff08;其实就是最短路转移时多记录一维的数据 #include <bits/stdc.h>using namespace std; #define X first #define Y second typedef double db; typedef long long ll; typedef pair<int,int> P; const int MAXN105; int n,…

平板xmind怎么添加父主题_xmind 怎么插入子主题

XMind添加主题方法一&#xff1a;XMind地址&#xff1a;网页链接点击标题栏中的【插入】&#xff0c;在弹出的内下拉窗口中便可看见容主题、子主题、自由主题等选项&#xff0c;我们点击想要添加的主题类型&#xff0c;然后直接点击便会对应的在导图中生成新的空白主题&#xf…

实例34:python

#练习函数调用。 #!/usr/bin/python -- coding: UTF-8 -- def hello_world(): print (‘hello world’) def three_hellos(): for i in range(3): hello_world() if name ‘main’: three_hellos() #1&#xff1a;__name__是一个变量。前后加了下划线是因为是因为这是系统…

NumPy数组创建例程

NumPy - 数组创建例程 新的ndarray对象可以通过任何下列数组创建例程或使用低级ndarray构造函数构造。 numpy.empty 它创建指定形状和dtype的未初始化数组。 它使用以下构造函数&#xff1a; numpy.empty(shape, dtype float, order C)构造器接受下列参数&#xff1a; 序号参…

python做接口自动化测试仪器经销商_Python接口自动化测试的实现

接口测试的方式有很多&#xff0c;比如可以用工具(jmeter,postman)之类&#xff0c;也可以自己写代码进行接口测试&#xff0c;工具的使用相对来说都比较简单&#xff0c;重点是要搞清楚项目接口的协议是什么&#xff0c;然后有针对性的进行选择&#xff0c;甚至当工具不太适合…

计算机进去pe怎么设置用户,电脑密码怎么设置,教您设置电脑开机密码

为了保障电脑重要资料的安全&#xff0c;不被其他同事看到&#xff0c;我们都会给自己的电脑设置开机密码&#xff0c;有了开机密码就可以让别人不能直接使用我们的电脑了&#xff0c;那么电脑开机密码如何设置呢&#xff1f;下面小编给您耐心讲解下电脑开机密码设置方法。说到…

实例35:python

#文本颜色设置 #!/usr/bin/env python -- coding:utf-8 -- Python设置文本文字颜色 class bcolors: HEADER ‘\033[95m’ # pink OKBLUE ‘\033[94m’ # blue OKGREEN ‘\033[92m’ # green WARNING ‘\033[93m’ # yellow FAIL ‘\033[91m’ # red ENDC ‘\033[0m’…

「BZOJ2200」[Usaco2011 Jan] 道路和航线 - 最短路+拓扑排序

->点我进原题[Usaco2011 Jan]道路和航线 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 1116 Solved: 410 Description Farmer John正在一个新的销售区域对他的牛奶销售方案进行调查。他想把牛奶送到T个城镇 (\(1 < T < 25,000\))&#xff0c;编号为\(1\)~\(T\)。…

哈佛大学计算机科学专,哈佛大学计算机科学专业

哈佛大学计算机科学专业通过哈佛文理研究生院申请并统一管理&#xff0c;要求申请者递交GRE成绩&#xff0c;但并无最低GRE分数要求。该项目设有BA/MS、PhD两个项目。所有PhD学生均可以获得全额奖学金&#xff0c;但不向硕士学生发放奖学金。哈佛大学计算机科学专业设置计算机架…

excel亮灯怎么设置_Excel表格技巧—怎么给表格设置密码

很多 Excel 表格里都有一些重要信息&#xff0c;但是当我们给别人发Excel表格时&#xff0c;别人可能会不小心或者故意更改表中数据。怎么才能避免这些表格的数据被更改呢&#xff1f;小编在这里和大家分享一个技巧&#xff1a;给表格设置密码&#xff01;如下图&#xff0c;假…

Collection和Collections的区别是什么

1&#xff09;java.util.Collection是一个集合顶层接口&#xff0c;该接口的设计目的是为各种具体的集合提供最大化的统一的操作方式&#xff0c;它提供了对集合对象进行基本操作的通用接口方法&#xff0c;实现该接口的类主要有List和Set 2&#xff09;java.util.Collections是…

实例36:python

#题目&#xff1a;求100之内的素数。 #!/usr/bin/python -- coding: UTF-8 -- 输出指定范围内的素数 用户输入数据 lower int(input("输入区间最小值: ")) upper int(input("输入区间最大值: ")) for num in range(lower,upper 1): # 素数大于 1 …

南川职业学校计算机职业,2018年重庆五年制大专中职学校介绍——重庆市南川隆化职业中学校...

2021年高职单招升学一对一咨询高职单招王老师:17725052174(微信)2018年重庆五年制大专中职学校介绍——重庆市南川隆化职业中学校什么是五年制大专&#xff1a;五年制大专也称为五年高职或五年一贯制大专&#xff0c;是高等职业技术学院的一种招生模式&#xff0c;学制五年&…

normalize函数_提取棋盘格角点函数解析

点击上方“Qt学视觉”&#xff0c;选择“星标”公众号重磅干货&#xff0c;第一时间送达共同学习共同进步1、如何查阅OpenCV官方说明文档查阅地址&#xff1a;https://docs.opencv.org/4.3.0/我这里使用的是OpenCV4.3&#xff0c;所以我需要查阅的就是4.3版本的说明文档上图就是…

STM32三种启动模式 boot0 boot1

STM32三种启动模式对应的存储介质均是芯片内置的&#xff0c;它们是&#xff1a; 1&#xff09;用户闪存芯片内置的Flash。2&#xff09;SRAM芯片内置的RAM区&#xff0c;就是内存啦。3&#xff09;系统存储器芯片内部一块特定的区域&#xff0c;芯片出厂时在这个区域预置了一段…