前言:

因为观察到vue.js的轻量以及实时更新数据的便捷性,于是新项目便决定使用vue.js2.0以及与之配套的elementui来完成。只是初次接触新框架,再使用过程中,遇见了各种各样“奇葩”的问题,在所有人的努力下,幸好该项目已接近尾声,就此便小谈一下自己的收获吧!

过程:

【使用到的文档】

https://cn.vuejs.org/v2/guide/syntax.html(vuejs)

http://element.eleme.io/#/zh-CN(elementui)

http://lodashjs.com/docs/(lodash.js:主要用于处理与数组相关的问题)

【遇见的问题集结】

.

1.select选择器赋不上值

问题描述:点击select下拉框,能选到下拉框中的数据,但是却选不上值,即回显不上选择到的数据。

解决方法:原来是版本问题。只需将elementui升级到1.3.0即可。(历史遗留问题吧~)

2.将后台服务器返回的数据绑定在前台页面上

问题描述:现存在一个下拉框,但是下拉框的数据是通过后台的一个方法查询得来并返回给前台,问题就是应该怎样将数据绑定在该下拉框中呢?

解决方法:使用mouted方法,将后台获得的数据绑定在该select的model中即可,例如

...
mounted() {
this.$nextTick(() => { //更新所选组别下拉框数据
apiclient.usergroup_getugname().then(res =>{ //用户组别下拉框数据
this.filters.s_gid = res;
});
});
this.search();
}
...

其中:apiclient.usergroup_getugname()为后台获取用户组别下的所有符合条件的数据,this.filters.s_gid为该下拉框的v-model数据。

3.select的校验不通过

问题描述:选好下拉框,并且赋好值,但是需要进行非空校验,于是使用官网上的校验方式(如下),却总是报错:“xxx is not a string”

...
rules: {
name: [//校验input框
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
region: [//校验select选择器
{ required: true, message: '请选择活动区域', trigger: 'change' }
],
...
}
...

于是,在将整个select下拉框的值写成固定的,再使用上面的校验方法的时候,居然不报错了。最终更是不知道应该从何下手解决……直到看到这个:

https://github.com/yiminghe/async-validator(适合校验的文档)

在这里面,有着详细的介绍,还有一些我们未曾发现的“小秘密”,这样问题便迎刃而解

...
rules: {
name: [//校验input框
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
region: [//校验select选择器
{ required: true,type:'number', message: '请选择活动区域', trigger: 'change' }
],
...
}
...

看文档,一定要认真点,仔细点!

后言:

没入手vue.js+elementui之前,总觉得这个有点难,只是因为自己不太熟悉;而当自己凭借喜欢以及工作需要慢慢了解它后,才发现原来并不难,而只是自己给它附上了一层“神秘”的面纱而已。其实在这个项目中遇见的问题还很多,后续继续总结。

vue.js2.0+elementui ——> 后台管理系统的更多相关文章

  1. vue+element-ui后台管理系统模板

    vue+element-ui后台管理系统模板 前端:基于vue2.0+或3.0+加上element-ui组件框架 后端:springboot+mybatis-plus写接口 通过Axios调用接口完成 ...

  2. 《vue.js2.0从入门到放弃》学习之路

    原文地址: Vue.js2.0从入门到放弃---入门实例(一):http://blog.csdn.net/u013182762/article/details/53021374 Vue.js2.0从入 ...

  3. vue.js2.0实战(1):搭建开发环境及构建项目

    Vue.js学习系列: vue.js2.0实战(1):搭建开发环境及构建项目 https://my.oschina.net/brillantzhao/blog/1541638 vue.js2.0实战( ...

  4. 基于VUE实现的新闻后台管理系统-一

    基于VUE实现的新闻后台管理系统 前段时间拿到一个关于新闻后台的API,测试数据库使用SQLite,Restful服务是用Go写的,只要运行特定环境下的脚本(run.*)就会启动一个服务,依次后台为接 ...

  5. 浅谈Vue.js2.0某些概念

    Vue.js2.0是一套构建用户界面的渐进式框架,目标是实现数据驱动和组件系统.   A 渐进式框架 Vue.js是一个提供MVVM数据双向绑定的库,只专注于UI层面,这是它的核心.它本身没有解决SP ...

  6. vue.js2.0 (简易)水果商城 vuex vant-ui

    vue.js2.0 (简易)水果商城 vuex vant-ui:https://segmentfault.com/a/1190000015690250 vue2.5全家桶 高仿vivo商城 百分之95 ...

  7. 耗时近一个月,终于录完了VUE.JS2.0前端视频教程!

    这次课录制的比较辛苦,圣诞节时原本已经快录制完成了,偶然的一次,播放了一下,感觉不满意,好几篇推倒重来,所以今天才结束. vue.js2.0是Vue.JS的最新版本,视频教程还不多,如果你看到了,学到 ...

  8. 从零开始搭建vue+element-ui后台管理系统项目到上线

    前言 之前有些过移动端的项目搭建的文章,感觉不写个pc端管理系统老感觉少了点什么,最近公司项目比较多,恰巧要做一个申报系统的后台管理系统,鉴于对vue技术栈比较熟悉,所以考虑还是使用vue技术栈来做: ...

  9. 基于vue2.0 +vuex+ element-ui后台管理系统:包括本地开发调试详细步骤

    效果演示地址, github地址: demo演示:         1.About 此项目是 vue2.0 + element-ui + node+mongodb 构建的后台管理系统,所有的数据都是从 ...

随机推荐

  1. <a>设置长宽

    因为只有块元素才会有物理属性,在css世界里边,有三种形态的东西, 1. 块元素. 特性:有物理属性,width,height写值起作用,而且要占据一行.2. 内联元素. 特性:没有物理属性.但是ma ...

  2. Python3 Scrapy 安装方法

    Python3 Scrapy 安装方法 (一脸辛酸泪) 写在前面 最近在学习爬虫,在熟悉了Python语言和BeautifulSoup4后打算下个爬虫框架试试. 没想到啊,这坑太深了... 看了看相关 ...

  3. 在chrome中的source找不到自己写的js时处理方法

    今天准备调试下js,突然发现在谷歌的中source中找不到我要调试的js,后来查资料和听同事说谷歌会把js压缩,于是找到以下方法来调试js 1. debugger神器 横扫各个浏览器.脚本运行到deb ...

  4. MyEclipse SVN 下面切换用户的解决方案

    configuration\org.eclipse.core.runtime\.keyring 删除MyEclipse下面的文件. 或者修改服务器端的用户密码.

  5. JVM Client Server启动设置

    看看你下面的这两个文件,是不是尺寸差别很大?%JAVA_HOME%/jre/bin/client/jvm.dll%JAVA_HOME%/jre/bin/server/jvm.dll   Jvm动态库有 ...

  6. 利用JavaScript计算引擎进行字符串公式运算

    1.通过js计算引擎计算(java自带) 2.计算公式除了支持基本的方法之外还支持简单js脚本分支计算 3.通过设定map传入参数 4.默认返回最后一个计算结果,如果需返回特定值,将变量补写在公式最后 ...

  7. ubuntu下 apache phpmyadmin 的安装和使用

    // Apache //Task: Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start //or $ sudo /etc/ini ...

  8. swiper中有视频时,滑动停止后视频停止播放

    我们经常能够看到在图片轮播中,穿插着视频的播放,如下图为淘宝的一个产品轮播图,放个视频能够让顾客对产品有个更全面的认识. 我们可以用swiper实现这个功能.用法就跟放图片一样,只是这里把图片换成视频 ...

  9. IE和Firefox之间的JavaScript差异

    这篇文章中,我会略述一下 Internet Explorer 和 Firefox 在 JavaScript 语法上不同的几 个方面. 1. CSS “float” 属性 获取给定对象的特定 CSS 属 ...

  10. e686. 显示打印窗口

    The print dialog allows the user to change the default printer settings such as the default printer, ...