「Uniapp」一些常用方法的封装
弹窗 - showModal
/**
* 封装 uni.showModal
* @param {Object|String} options 配置对象或提示内容
* @param {String} [options.title='提示'] 标题
* @param {String} options.content 提示内容
* @param {Boolean} [options.showCancel=true] 是否显示取消按钮
* @param {String} [options.confirmText='确定'] 确认按钮文字
* @param {String} [options.cancelText='取消'] 取消按钮文字
* @param {String} [options.confirmColor='#3CC51F'] 确认按钮颜色
* @param {String} [options.cancelColor='#999'] 取消按钮颜色
* @param {Function} [callback] 回调函数,接收 confirm 参数
* @return {Promise} 返回 Promise 对象
*/
export function showModal(options, callback) {
// 处理参数,支持直接传入字符串内容
if (typeof options === 'string') {
options = {
content: options
}
}
// 默认配置
const defaultOptions = {
title: '提示',
showCancel: true,
confirmText: '确定',
cancelText: '取消',
confirmColor: '#3CC51F',
cancelColor: '#999'
}
// 合并配置
const modalOptions = {
...defaultOptions,
...options
}
// 返回 Promise
return new Promise((resolve, reject) => {
uni.showModal({
...modalOptions,
success: (res) => {
// 执行回调函数
if (typeof callback === 'function') {
callback(res.confirm)
}
// Promise 处理
if (res.confirm) {
resolve(res)
} else if (res.cancel) {
reject(res)
}
},
fail: (err) => {
// 执行回调函数
if (typeof callback === 'function') {
callback(false)
}
reject(err)
}
})
})
}
// 导出快捷方法
export const modal = {
// 普通提示
alert(content, title = '提示') {
return showModal({
content,
title,
showCancel: false
})
},
// 确认对话框
confirm(content, title = '提示') {
return showModal({
content,
title
})
},
// 删除确认
deleteConfirm(content = '确定要删除吗?', title = '删除提示') {
return showModal({
content,
title,
confirmText: '删除',
confirmColor: '#DD524D'
})
},
// 错误提示
error(content, title = '哎呀,出现错误了') {
return showModal({
content,
title,
showCancel: false,
confirmText: '我知道了',
confirmColor: '#DD524D'
})
}
}
「Uniapp」一些常用方法的封装的更多相关文章
- 「 深入浅出 」集合List
第一篇文章 「 深入浅出 」java集合Collection和Map 主要讲了对集合的整体介绍,本篇文章主要讲List相对于Collection新增的一些重要功能以及其重要子类ArrayList.Li ...
- JavaScript OOP 之「创建对象」
工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...
- 一个「学渣」从零开始的Web前端自学之路
从 13 年专科毕业开始,一路跌跌撞撞走了很多弯路,做过餐厅服务员,进过工厂干过流水线,做过客服,干过电话销售可以说经历相当的“丰富”. 最后的机缘巧合下,走上了前端开发之路,作为一个非计算机专业且低 ...
- LOJ2722 「NOI2018」情报中心
「NOI2018」情报中心 题目描述 C 国和D 国近年来战火纷飞. 最近,C 国成功地渗透进入了D 国的一个城市.这个城市可以抽象成一张有$n$ 个节点,节点之间由$n - 1$ 条双向的边连接的无 ...
- 「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver
大家一谈数据库,就觉得非常高深莫测,深不见底,非凡人敢去触摸.但Excel的话,没人敢说自己不会使用吧(相反一大堆人的简历上写着精通OFFICE所有软件套件).换作其他非微软厂商的数据库,的确很容易产 ...
- 「 深入浅出 」集合Map
系列文章: 「 深入浅出 」java集合Collection和Map 「 深入浅出 」集合List 「 深入浅出 」集合Set 前面已经介绍完了Collection接口下的集合实现类,今天我们来介绍M ...
- iOS 9,为前端世界都带来了些什么?「译」 - 高棋的博客
2015 年 9 月,Apple 重磅发布了全新的 iPhone 6s/6s Plus.iPad Pro 与全新的操作系统 watchOS 2 与 tvOS 9(是的,这货居然是第 9 版),加上已经 ...
- SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- SpringBoot图文教程14—SpringBoot集成EasyExcel「上」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- 「MoreThanJava」Day2:变量、数据类型和运算符
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
随机推荐
- 视觉SLAM第四讲李群与李代数习题
视觉SLAM第四讲李群与李代数习题 一.验证\(SO(3).SE(3).SIM(3)\)关于乘法成群 首先引入一下群的定义. 群 (Group) 是一种集合加上一种运算的代数结构.我们把集合记作 \( ...
- BUUCTF---这是Base??
题目 dict:{0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11 ...
- 【Java】内部类详解
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就来一探究竟. 一.内 ...
- 【虚拟机】在VMware中为Ubuntu虚拟机设置共享文件夹
[虚拟机]在VMware中为Ubuntu虚拟机设置共享文件夹 零.需求 有些开发工具在Windows上没有,只能在Ubuntu上开发,但是自己电脑是Windows的,开发完成后需要通过Windows分 ...
- 【Java】可比较泛型建数组传递报强转类型错误解决方案
问题 可比较泛型怎么新建数组? 自己写基于AVL树的散列表时,在自动扩容的时候需要遍历AVL树的Key,所以需要AVL树提供一个方法返回一个Key数组以遍历,初始实现如下: /** * 用于辅助遍历K ...
- SLAM导航全栈书的正确打开姿势
SLAM导航全栈书的正确打开姿势 随着人工智能.机器人.无人驾驶等技术的蓬勃发展,作为底层技术基石的SLAM也逐渐被大家所熟知.人工智能技术如果仅仅停留在虚拟的网络和数据之中的话,那么它挖掘并利用知识 ...
- 学习Kotlin语法(二)
简介 经过上一章节,我们对Kotlin基础语法有了大致的了解,了解了什么是基本类型.集合.控制流程.函数.类.空安全,接下来我们将更近一步的去了解Kotlin的相关知识,本章节将详细的学习Kotlin ...
- Mybatis三大执行器
目录 1.执行器介绍 执行器的选择入口 设置执行器两种方式 全局配置(不建议) 局部设置(建议) 2.三个执行器区别 SimpleExecutor ReuseExecutor BatchExecuto ...
- MySQL 中的索引数量是否越多越好?为什么?
MySQL 中的索引数量是否越多越好?为什么? 虽然索引能够提高查询性能,但并不是索引越多越好.索引数量过多会带来一定的负面影响,尤其是在写操作频繁的场景下.需要根据实际的查询需求来合理设计索引,以平 ...
- lighttools batchmode 批处理vb程序代码
完成后的图示,选择需要模拟的lighttools后,直接进行运行,点击开始模拟,即可逐个模拟完成 lighttools 连接代码: 1 Private m_ltServer As LTAPI 2 3 ...