VUE项目中使用mint-ui框架总结
针对PC端,element-ui可谓是首选了,UI体验效果很好。
element-ui 框架官网:http://element.eleme.io/#/zh-CN/component/installation
mint-ui 也是饿了么出品的UI框架(主要是针对移动端),其框架官网: http://mint-ui.github.io/docs/#/en2/quickstart
针对移动端项目,有些为了偷工减料,可以选择性的利用现成的UI框架。但是用了之后遇到了一些坑。
1.按需加载:按需引入的方式,我们不必要引入全部的UI组件,需要用什么就选择性的用什么,这样可以减小我们项目的体积,加快加载速度。
但是按照官网提示来操作,发现会报错。
正确的做法是:
修改 .babelrc文件配置
主要是 在 plugins 后添加
- ["component", [
- {
- "libraryName": "mint-ui",
- "style": true
- }
- ]]
完整的 .babelrc文件代码为:
- {
- "presets": [
- ["env", {
- "modules": false,
- "targets": {
- "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
- }
- }],
- "stage-2"
- ],
- "plugins": [
- "transform-vue-jsx",
- "transform-runtime",
- ["component", [
- {
- "libraryName": "mint-ui",
- "style": true
- }
- ]]
- ],
- }
在入口文件引入需要用到的UI组件
- import {
- DatetimePicker,
- Toast,
- Indicator,
- Picker,
- Popup
- } from 'mint-ui'
- Vue.component(DatetimePicker.name, DatetimePicker)
- Vue.component(Toast)
- Vue.component(Indicator)
- Vue.component(Picker.name, Picker)
- Vue.component(Popup.name, Popup);
比如现在我只需要用mint-ui 框架中的 DatetimePicker , Toast , Indicator , Picker , Popup
这样就可以全局引入这些UI组件了。
官网提示说
- Vue.component(Button.name, Button)
- Vue.component(Cell.name, Cell)
- /* 或写为
- * Vue.use(Button)
- * Vue.use(Cell)
- */
但是发现写成 Vue.use(Toast) 在页面初始化时会出现一个小黑点后消失,其实这是Toast样式里面的padding 起的作用。也就是 Vue.use(Toast) 会在页面加载时初始化。
所以为了避免出现这个问题,采用 Vue.component 引入方式比较好。
2.使用了Toast 或者 Indicator等组件时,按照官方文档,这样写就会出现“Uncaught ReferenceError: Toast is not defined”的错误
错误截图为
Toast 被当做是未知的变量,
此时的做法是 引入了Toast 就需要把该变量暴露到全局对象里面
- window.Toast= Toast
- window.Indicator= Indicator
- ...
3.Toast等组件避免重复弹出,按需关闭
比如 在做表单验证时,表单输入不能为空,一直点 提交按钮,会一直出现Toast 组件,而这时之前的Toast并没有完全消息,这里前端处理的时候需要设置下标记,判断Toast是否存在
另外 有这样的需求,比如在 登录页面,用户提交表单后,登录成功,会跳转到新的页面。而这时 Toast需要过2秒才消失,在进入另外一个页面我们会发现 此时的Toast 仍然存在。
此时的做法是:
- var toastFlag = ''
- //把Toast赋值给一个新的变量
- toastFlag = Toast("登陆成功")
- //beforeDestroy生命周期关闭Toast
- beforeDestroy:function(){
- toastFlag && toastFlag.close()
- }
4. 引入 Datetime picker 组件,时间选择数据少,当前时间的10年前和未来的10年
但是某些项目中,需要更多选择年份的需求。该插件提供了 startDate 和 endDate 属性
- :startDate="new Date('1970/12/31 12:00:00')"
- :endDate="new Date('2100/12/31 12:00:00')"
上面例子 意思是选择 1970 ~ 2100 年份的数据
VUE项目中使用mint-ui框架总结的更多相关文章
- 在Vue项目中使用Element UI:按需引入和完整引入
下面操作在main.js文件中进行 完整引入: import Element from 'element-ui'; //样式文件,需单独引入 import 'element-ui/lib/theme- ...
- vue项目中使用element ui上传图片到七牛
1.获取token值 后台有接口调用直接返回token值 //请求后台拿七牛云token async getQiniuToken() { //token let uploadtoken = await ...
- vue项目中导出PDF的两种方式
参考大家导出的方式,基本上是如下两种: 1.使用 html2Canvas + jsPDF 导出PDF, 这种方式什么都好,就是下载的pdf太模糊了.对要求好的pdf这种方式真是不行啊! 2.调用浏览器 ...
- Vue项目的创建和UI资源
Vue项目创建打包与UI资源 1.Vue项目创建 1.1 vue-cli脚手架 vue-cli是一个基于vue的构建工具,用于搭建vue项目的环境,有着兼容,方便,快速的优点,能够完全遵循前后端分离的 ...
- Vue项目中如何使用Element-UI以及如何使用sass
Vue项目中如何使用Element-UI以及如何使用sass 当我们在开发Vue项目的时候通常会选择Element-UI作为我们的UI框架,其官方中文文档地址是http://element.eleme ...
- 在vue项目中安装使用Mint-UI
一.Mint UI 是 由饿了么前端团队推出的 一个基于 Vue.js 的移动端组件库,具有以下特性: 使用文档: http://mint-ui.github.io/#!/zh-cn Mi ...
- vue入坑教程(二)在vue项目中如何导入element以及sass
在项目中导入element以及sass.stylus等方便开发的工具以及UI框架 (1)如何在vue项目中导入elementUI框架 elementUI是饿了么团队开发出来基于vue的前端UI框架,其 ...
- vue 项目中实用的小技巧
# 在Vue 项目中引入Bootstrap 有时在vue项目中会根据需求引入Bootstrap,而Bootstrap又是依赖于jQuery的,在使用npm按照时,可能会出现一系列的错误 1.安装jQu ...
- 十、VueJs 填坑日记之在项目中使用Amaze UI
上一篇博文,我们把jQuery集成到了项目中,今天我们来集成Amaze ui(妹子UI).先来介绍一下妹子UI.Amaze UI 含近 20 个 CSS 组件.20 余 JS 组件,更有多个包含不同主 ...
- vue项目中遇到的一些问题
或访问:https://github.com/littleHiuman/experiences-about-vue 欢迎补充! vuex 状态 vue-cli 命令行 vue vue vue-rou ...
随机推荐
- 使用visualStudio2017创建一个简单的控制台程序
步骤: 1. 打开visual studio开发工具 2. 选择文件>新建>项目 如下图所示: 3. 选择window金典桌面>控制台应用程序 并填写好想项目名称和选择项目存储地址 ...
- js正则表达式替换HTML标签以及空格( )
参考:范仁义 js代码: function filter(text) { var reg = /<[^<>]+>/g;//1.全局匹配g肯定忘记写,2.<>标签中不 ...
- 基于Kubernates微服务案例
企业业务上云的三种架构 容器的三个视角 从运维角度 数据工程师角度 开发角度微服务化 12 Factor Related Reference: https://kubernetes.io/https: ...
- MyBatis之整合Spring
MyBatis之整合Spring 整合思路: 1.SqlSessionFactory对象应该放到spring容器中作为单例存在 2.传统dao的开发方式中,应该从spring容器中获得sqlSessi ...
- 002. https通信(CA证书认证 + 密钥商定 )
服务端与客户端建立https通信的过程: 一.认证:客户端第一次访问服务端时,要求服务端证明自己可被信任 1.证书:由服务端申请.第三方CA颁发的,存放在服务端的证书: 证书包含:服务端的公钥.服务端 ...
- SuperMap iObject入门开发系列之一组件式GIS开发平台介绍
本文是一位好友“炀炀”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢.平台介绍:SuperMap iObjects Java/.NET 是面向GIS应用系统开发者的组件式GIS开发平台,具有强 ...
- selenium-确认进入了预期页面
selenium确认进入了预期页面 在自动化操作中,浏览器每次进入一个新的需要,都需要确认该页面是否打开或打开的页面是否是预期的页面 需要进行确认页面后方可进行下一步操作 确认页面有很多中方法,像每个 ...
- WIn10系统软件默认安装c盘后消失看不见问题
一.win10系统下c盘,program 文件下 软件一般为32 或者 64位,但是现在win10系统有些C盘会显示program x86 向这种情况的话我们的软件默认安装在这个盘的话可能会造成很多 ...
- Web前端教程2-CSS教程
目录 1. CSS基本语法 1.1. CSS基本定义 1.2. CSS布局属性 1.3. CSS文本常用属性 2.CSS选择器 2.1. 标签选择器 2.2. id选择器 2.3. 类选择器 2.4. ...
- June 28th. 2018, Week 26th. Thursday
You cannot change the circumstances but you can change yourself. 既然改变不了环境,那就改变自己. From Jim Rohn. Rec ...