基于mpvue的简单弹窗组件mptoast使用详解


Posted in Javascript onAugust 02, 2019

介绍

mptoast 是一个基于mpvue的简单弹窗组件 github地址: https://github.com/noahlam/mpvue-toast

特性

1.轻量 目前整个项目未打包前大概只有120行代码(包括注释),5kb左右(包括图标)

2.配置少 尝试过无数种优化方法,只为减少配置

3.冗余少 每个页面(page)只需要引入一次,该页面里面如果有多个子组件,可以跟页面共用一个,无需重复引入。

4.使用简单 除了必须的在page页面对组件import,注册,和html引入(这些麻烦的东西由于mpvue不支持的原因,暂时无法做到优化),其他的使用只需一行简单的代码 this.$mptoast('提示消息‘)即可实现弹窗

5.可定制性强 提供用户重写样式的属性,只需传入一个定义好的样式类名既可实现对原有样式的覆盖(具体请看参数说明)

安装

1.安装vuex,如果你项目还没使用的话。请放心,虽然mptoast依赖vuex,你不会接触到任何有关vuex的代码。添加vuex只为让你写更少的代码。

npm i vuex

2.安装mptoast

npm i mptoast -D

或者

yarn add mptoast --dev

3.在项目的主配置文件(一般位于src/main.js)加入以下代码

import mpvueToastRegistry from 'mptoast'
mpvueToastRegistry(Vue)

4.在你需要弹窗的页面,引入组件,并注册,然后在页面内加入一个你注册的组件,就可以在js里面调用this.$mptoast()了, 以下是一个简单的实例

<template>
 <div>
  <-- 省略其他代码 -->
  <mptoast />
 </div>
</template>

<script>
import mptoast from 'mptoast'

export default {
 components: {
  mptoast
 },
 data () {
  return {}
 },
 methods: {
  showToast () {
   this.$mptoast('我是提示信息')
  },
 }
}
</script>

至于为什么没办法做到像vue组件那样,引入一次,就可以在所有页面使用,我想我必须得解释以下,因为mpvue目前还不支持全局的组件,我尝试过很多种变通办法,都行不通,甚至为了让大家使用的时候,少输入几个字,少一些冗余,我都做了很多尝试和优化,目前mpvue团队已经在考虑新增全局组件功能,我会时刻关注,一旦支持,我这边也立马做支持。

参数说明

参数分2种类型,一种是多个参数,另一个种则少只接收一个对象

一, 多个参数

参数位置 参数类型 参数名称 是否必填 默认值 其他说明
1 string 显示文本 - 如果第一个参数不是string或number类型 则会被当作对象来处理,也就是上面提到的另一种情况
2 stirng 显示图标类型 - 3种可选 'success' , 'error' , 'info'
3 number 关闭时间 1500 单位是毫秒ms,传其他格式(非number类型)会报错
4 string 文本样式类名 - 如果需要自定义显示的样式,请先定一个样式类 然后把类名传给该参数,定义类的时候 如果所有页面都使用这个类,必须定义为全局的 如果定义在scope作用域内的话 子组件不能复用父组件的样式。
5 string icon样式类名 - 同上,需要注意的是icon是包含在文本里面的

同上,需要注意的是icon是包含在文本里面的

以下代码是一个多个参数调用的简单实例

this.$mptoast('温馨提示', 'success', 2000)

二, 单个object对象

object对象参数的功能,其实跟上面多个参数的对应的功能是一样的,只是写法不同而已,我们直接看代码

this.$mptoast({
 text: '温馨提示',    // 显示文本
 icon:'success'     // 图标类型
 duration: 2000,    // 关闭时间
 textClass: 'my-class'  // 样式类名
 iconClass: 'icon-class' // 图标类名
})

需要注意的是,以上参数,如果传入错误的类型,先会进行类型转换,如果转换失败的,可能会报错。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery Uploadify多文件上传带进度条且传递自己的参数
Aug 28 Javascript
jQuery filter函数使用方法
May 19 Javascript
使用Jquery实现每日签到功能
Apr 03 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
Jul 06 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
javascript实现去除HTML标签的方法
Dec 26 Javascript
浅谈react+es6+webpack的基础配置
Aug 09 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
Vue实现web分页组件详解
Nov 28 Javascript
微信小程序实现简单表格
Feb 14 Javascript
记一次react前端项目打包优化的方法
Mar 30 Javascript
jQuery实现本地存储
Dec 22 jQuery
vue下使用nginx刷新页面404的问题解决
Aug 02 #Javascript
超轻量级的js时间库miment使用解析
Aug 02 #Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
Aug 02 #Javascript
微信小程序中悬浮窗功能的实现代码
Aug 02 #Javascript
微信小程序的授权实现过程解析
Aug 02 #Javascript
jQuery实现input[type=file]多图预览上传删除等功能
Aug 02 #jQuery
用 js 写一个 js 解释器过程详解
Aug 02 #Javascript
You might like
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
JS的反射问题
2010/04/07 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
python assert的用处示例详解
2019/04/01 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
美国牛仔品牌:True Religion
2018/11/16 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
服装设计师职业生涯规划范文
2014/02/28 职场文书
超市创业计划书
2014/04/24 职场文书
列车乘务员工作不细心检讨书
2014/10/07 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
手写实现JS中的new
2021/11/07 Javascript
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏