详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件

news/2024/7/10 0:45:34 标签: vue

wc-messagebox

  • 基于 vue 2.0 开发的插件
  • 包含 Alert, Confirm, Toast, Prompt
  • 仿照 iOS 原生UI(样式来源: MUI)

一些想法

刚开始的时候想要用现成的弹窗组件来着, 但是查找一圈没有发现比较合适项目的, 所以才自己开发了一个, 包含 Alert, Comfirm, Toast, Prompt 四种, 并且可以单个引入.
Vue 的组件开发实际上比较简单, 有兴趣的可以看下源码实现, 步骤很清晰.
关于样式的问题, 是直接从 MUI(魅族开发的) 中拿过来的, 仿照 iOS 的效果.

效果图

图是动图… 动不了点一下就好.

Install

npm i wc-messagebox --save

Quick Start

import {Alert, Confirm, Toast} from 'wc-messagebox'
import 'wc-messagebox/style.css'
 
Vue.use(Alert, options)
Vue.use(Confirm, options)
Vue.use(Toast, options)

Usage

this.$alert(text, options)
options = {
  title: '', // 默认无标题
  btn: {
    text: '',
    style: {
      'backgroun-color': 'red',
      'font-size': '20px',
      'color': 'blue'
    }
  }
}
 
this.$confirm(text, options)
options = {
  title: '', // 默认无标题
  yes: {
    text: '确定',
    style: {}
  },
  no: {
    text: '取消',
    style: {}
  }
}
this.$toast(text, options);
options = {
  position: 'bottom' // 'bottom' | 'center',
  duration: '1500'
}

其他
Alert, Confirm 返回的是一个Promise, 以支持链式调用.

this.$confirm(text).then(success).catch(fail)

最后

为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,帮助大家在成为全栈工程师,乃至架构师的路上披荆斩棘。在这里给大家推荐一个前端全栈学习交流圈:866109386.欢迎大家进群交流讨论,学习交流,共同进步。

当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。

但最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间,所以有有效资源还是很有必要的。

最后祝福所有遇到瓶疾且不知道怎么办的前端程序员们,祝福大家在往后的工作与面试中一切顺利。


http://www.niftyadmin.cn/n/1300915.html

相关文章

java的(PO,VO,TO,BO,DAO,POJO)解释

文章转载自:https://www.cnblogs.com/yxnchinahlj/archive/2012/02/24/2366110.html O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在…

原生JavaScript实现form表单序列化的方法

当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼;我们一起用原生来写一个表单序列化方法&a…

vue组件挂载到全局方法的示例代码

在最近的项目中,使用了bootstrap-vue来开发,然而在实际的开发过程中却发现这个UI提供的组件并不能打到我们预期的效果,像alert、modal等组件每个页面引入就得重复引入,并不像element那样可以通过this.xxx来调用,那么问…

Linux 下select 模型

系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。 函数原型:

Entry name ‘classes.dex‘ collided

文章转载自:https://www.cnblogs.com/jiduoduo/p/13962924.html android studio打包的时候,mac下是好的 ,在win10下,则报entry name classes.dex collided 要在build.gradle加入一个项 exclude classes.dex

Linux 下 poll模型

poll调用和select调用实现的功能一样,都是网络IO利用的一种机制。poll() 没有像 select() 构建 fd_set 结构体的 3 个数组 ( 针对每个条件分别有一个数组 : 可读性、可写性和错误条件 ) ,然后检查从 0 到 nfds 每个文件描述符。 先看一下poll的调用形式 一,poll调用

原生JavaScript封装的ajax方法示例

众所周知,框架之间会有冲突,这是源生js就起到作用了,下面介绍一种源生js封装的ajax请求。 function ajax(options) {options options || {};options.type (options.type || "GET").toUpperCase();options.dataType options.dat…

Python的基础使用

对于一般非专业使用Python的程序员来说,基本上使用python的用途就是:用来在*.zh文件中执行*.py文件或者在命令行直接执行*.py文件。 那么基于这样的需求,我们非专业python的码农要如何来认识*.py文件中的基础模块和函数呢? 通常…