伤脑筋的版本升级

element-ui升级到2.0版本了!

element-ui作为比较成熟的广为人知的前端框架,原本满怀热情的去学习,也基于element-ui搭建出了一套系统,可是它居然升级了!

别的技术升级都是兼容旧版本,可是它升级后我所有的日期控件全部瘫痪。。。

别的技术升级后都是保留原有index.css或index.js官方链接,它居然连旧版本的css链接都废弃了!等于样式全部废弃!这对于商用系统怎么接受的了。。。

由于日期控件全部瘫痪,css链接被废弃,所以我现在要面临的是重测系统!

所以别的技术升级我是高兴,比如spring,但是element-ui升级后,我却一点儿也高兴不起来,因为我要重测我整个系统!

日期控件瘫痪表现

这是element-ui 1.0版本的日期控件代码:

<el-date-picker v-model="searchForm.fdEndTime" align="right" type="date" placeholder="选择日期" :picker-options="pickerOptions1"  @change="getTime">
</el-date-picker>

最后那个getTime方法是百度出来的,解决获取日期结果值不是输入框里看到的日期字符串的方法,getTime代码为:

getTime(date){
vue.searchForm.fdEndTime = date;
}

这里的vue是我的element-ui对象,也是Vue对象。

加上这个getTime方法之后,果然通过vue对象可以获取正确的期望中的日期字符串,可是升级到2.0版本后,这里的date传参居然变成了Date对象本身!这个概念转换是对的,可是你有没有想过旧系统已经基于以前版本开发的代码啊,全部要改啊!。。。

只好把项目里所有getTime方法里的date传参不再进行简单赋值,而是通过日期字符串格式化后再赋值:

getTime(date){
var date2 = date.format("yyyy-MM-dd");
vue.searchForm.fdEndTime = date2;
}

当然,在这之前,你需要对Date类做扩展(百度一大堆):

Date.prototype.format = function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
} /************************* 以下是本类测试方法 *********************************/ var mydate = new Date();
var mydateStr = mydate.format("yyyy-MM-dd");
console.log('yyyy-MM-dd mydateStr=='+mydateStr); var mytime = new Date().format("yyyy-MM-dd hh:mm:ss");
console.log('yyyy-MM-dd hh:mm:ss mytime==='+mytime);

switch开关控件瘫痪表现

switch开关,现在改成这样了:

然后获取值和设置值的旧的那一套全部失效,原因是现在的值默认是true和false,而原来的旧版本的值是可以直接设置值为1或0或其它什么值的,所以导致设置值和获取值全部失效。

结语

鉴于当前element-ui升级后的表现,看来它背后的技术团队还没有具备像sring团队那样的良好软件规范意识,所以不推荐element-ui作为追求稳定型的商用系统。

element-ui的不稳定性的更多相关文章

  1. 使用element ui 日期选择器获取值后的格式问题

    一般情况下,我们需要给后台的时间格式是: "yyyy-MM-dd" 但是使用Element ui日期选择器获取的值是这样的: Fri Sep :: GMT+ (中国标准时间) 在官 ...

  2. element ui 1.4 升级到 2.0.11

    公司的框架 选取的是 花裤衩大神开源的 基于 element ui + Vue 的后台管理项目, 项目源码就不公开了,记录 分享下 步骤 1. 卸载 element ui 1.4的依赖包 2. 卸载完 ...

  3. [坑况]饿了么你是这样的前端——vue+element ui 【this dependency was not found:'element-ui/lib/theme-chalk/index.css'】

    element ui 坑况:今日pull代码,潇洒npm run dev ,被告知:this dependency was not found:'element-ui/lib/theme-chalk/ ...

  4. Vue + Element UI项目初始化

    1.安装相关组件 1.1安装Node 检查本地是否安装node node -v 如果没有安装,从Node官网下载 1.2安装npm npm -v 如果没有安装:使用该指令安装: npm install ...

  5. Element UI——本地引入iconfont不显示

    前言 前面因为本地引入Element UI导致了iconfont不显示,所以只好再去Element UI官网去扒下iconfot 步骤 进入官网 组件 | Element UI F12进入控制台,找到 ...

  6. Html | Vue | Element UI——引入使用

    前言 做个项目,需要一个效果刚好Element UI有,就想配合Vue和Element UI,放在tp5.1下使用,但是引入在线的地址各种报错,本地引入就完美的解决了问题! 代码 __STATIC_J ...

  7. 分享一个自搭的框架,使用Spring boot+Vue+Element UI

    废弃,新的:https://www.cnblogs.com/hackyo/p/10453243.html 特点:前后端分离,可遵循restful 框架:后端使用Spring boot,整合了aop.a ...

  8. 上传图片组件封装 element ui

    // element ui 文档地址: http://element.eleme.io/#/zh-CN <template> <div> <div class=" ...

  9. vue项目使用element ui的Checkbox

    最近使用到element ui的下拉多选框Checkbox Checkbox用法可参考与于 http://element.eleme.io/#/zh-CN/component/checkbox Che ...

  10. vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用

    其实这3个讲的是一个问题,先说下问题,我在watch里设置一个监听,当弹窗打开时,自动添加树形的默认选中项, 但奇怪的是this.$refs为undefined,自然setCheckedKeys无法使 ...

随机推荐

  1. Attempting to use uninitialized value

    ckpt = tf.train.get_checkpoint_state(FLAGS.model) if ckpt: saver.restore(sess, tf.train.latest_check ...

  2. CURL 调用登录接口并且携带Token

    curl页面: <?php namespace frontend\controllers;use yii\base\Controller;use Yii;class NewController ...

  3. SSH免密码登录教程

    在一些受信任的环境中配置免密码登录,是比较方便的:而对于ansible等自动化工具配置免密码登录更是必要的. 免密码登录的要点就是,把想让服务器信任的客户机的公钥发送到服务器. 当客户机连接服务器时直 ...

  4. C++获取数组的长度

    C++获取数组的长度 #include<iostream> using namespace std; template<class T> int length(T& a ...

  5. 跟随我在oracle学习php(9)

    三目运算符:表达式? 表达式: 表达式: 自增在前在后没有影响 参与表达式需要注意 在前先计算,在后最后加1. + 字符串拼接. 字符串转数字:从左到右第一个不是数字的位置结束 取整 parseInt ...

  6. tensorFlow(六)应用-基于CNN破解验证码

    TensorFlow基础见前博客 简介 传统的验证码识别算法一般需要把验证码分割为单个字符,然后逐个识别.本教程将验证码识别问题转化为分类的问题,实现对验证码进行整体识别. 步骤简介 本教程一共分为四 ...

  7. C#Mvc地址栏传值

    A页面 location.href = "/Home/Bpage?names=" +names; B页面 var loc = location.href;var n1 = loc. ...

  8. Linux磁盘空间满了的排查与解决思路

    block正常满 (磁盘实际不足)inode 满 大量的小文件block 满 文件没有被彻底删除(硬链接数0 进程调用数不为0) 解放方法: 1 查看df -h 磁盘使用量根据占用量大小逐步逐步排查 ...

  9. Rsync,Linux日志及Screen工具介绍

    第十六次课 Rsync,Linux日志及Screen工具介绍 目录 一.rsync工具介绍 二.rsync常用选项 三.rsync通过ssh同步 四. rsync通过服务同步 五.linux系统日志 ...

  10. ios 中pickerView用法之国旗选择

    QRViewController控制器 // // QRViewController.m // #import "QRViewController.h" #import " ...