element-ui一些注意点:
1.change ($event,“你要传递的其他值”),使用el-select组件时,想传递多个值。
或者 在el-option上的value属性上传递对象 eg:
:value="{'classId': ele.classId,'index': $keys,'sonIndex':$key}"
2.value-key 是作为绑定对象的值时的必填项,作为唯一标志,el-select
3.循环遍历多个el-select组件,选项选中,数据更新了,但是视图不更新。
import tools from '@/common/tools/index.js'
为什么就可以找到src目录下的文件?因为在build/webpack.base.conf.js里面定义了简写形式
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
所以@ == src ,也造成了@后面要加/ ,等价于 src/ 。
5.clearValidate()要用在before-close函数和取消按钮函数里,其他地方不好使;Dom模板里不能用this,eg:$refs[‘form’].clearValidate();
解:Element-UI中的Dialog的内容是懒渲染的,即在第一次被打开之前,传入的默认slot不会被渲染到DOM上,如果要操作DOM,需要在open事件回调中开发代码。总结:直接阅读组件底部的Attributes、Slot、Events相关说明。可以通过node_modules读一下element-ui中Dialog组件的源码,使用BEMCSS规范,props用法,各个Vue用法的规范使用。
6.Dom里面的form-item循环里validator校验不能用this.xxx,用了会报错;不是循环的validator校验就可以用this.xxx,不会报错;自定义校验函数的回调函数callback(new Error('文案));和callback('文案'); 第二种回调用法在for循环方式中不生效。
7.菜单路由路径和Vue-router里面的配置是全匹配,有空格都不行。
8.Form的每个item中的validator自定义校验逻辑只能有一个,如果是2个,就会promise的状态一直未padding,排查问题可用代码的删除排查法,删到最简单来排查。
9.多个表单校验,可用Promise.all[].then();很好用。
9.针对Vue响应不及时问题,setTimeOut是个很好的解决问题的办法。Event loop概念,但是有没有其他更好的办法呢?Object.assign(); Vue.$set(); 除此之外还有一个watch的巧用,数据变化就重新复制(解决jiaoshi工作台切换单元综合演练数据不更新问题)
10.webpack兼容问题,在Vue项目中,Vue文件的style中的type='text/css';script中的type='text/javascript',与webpack4版本不兼容,需要删除掉这样的写法。
11.Vue项目中DOM渲染结果会有 ‘data-v-xxx’字样,是因为Vue组件中使用了scoped,保证各组件间样式不互相影响,给每个component都做了唯一的标记,每引入一个新组件都会多一个data-v-xxx字样。
12.Element-UI的表单提交中,如果加了自定义校验规则,最后一定要有return callback();不然表单执行不下去的。曾经找了半天错误,才找到这个原因。
checkLogId(rule, value, callback){// 校验LodId格式 以C开始,后面是数字
let logId = this.ruleForm.logId;
let headLetter = logId.slice(0,1);
let otherLetter = logId.slice(1);
let rules = /^\+?[1-9][0-9]*$/; // 正整数规则
let re = new RegExp(rules);
if( headLetter !== "C" ){
return callback(new Error('打点ID格式添加错误'));
}else if( !re.test(otherLetter) ){
return callback(new Error('打点ID格式添加错误'));
}
return callback();
},
13. 模板列表使用flex布局,在最后一行,不足一行时,两端分布的解决:
一行n个,在最后放n个写死的item,宽度和item保持一样,高度设置为0。
延伸:是否有更优雅更好的实现方式呢~
14. 列表中为什么这个样式都需要放外面?
el-button--default > span
解析:a. scoped利用CSS3属性选择器的原理来控制作用域,而Vue组件会给html元素标签添加data-*的属性。
b. 在当前组件引入另一子组件时,子组件生成的HTML元素并没有被加上属性作用域;而编译后的CSS选择器加在了‘尾选择器’上,这样的偏差导致了scoped内的样式对于子组件样式的覆盖重写失效。
c. Scoped只对当前页面直接使用的标签样式有效
d. 解决:另起一个不加scoped的style标签,在里面用CSS选择器层级覆盖控制子组件样式。
延伸:如果更优地解决这样的场景?CSS编译时如何在尾部加入属性选择器的?
15. 搜索中重置逻辑不可用?
this.$refs[formName].resetFields();
解析:formName此处要和el-form的ref、model保持一致,而且每个el-form-item的prop属性对应值于v-modal绑定值这样使用resetFields重置才会生效,效果是用data里面值覆盖了原来的值,潜台词就是data里面如果有默认值,此时item里面就是默认值而不是空值。
el-button--default > span 建站列表为什么这个样式都需要放外面?
element-ui一些注意点:的更多相关文章
- 使用element ui 日期选择器获取值后的格式问题
一般情况下,我们需要给后台的时间格式是: "yyyy-MM-dd" 但是使用Element ui日期选择器获取的值是这样的: Fri Sep :: GMT+ (中国标准时间) 在官 ...
- element ui 1.4 升级到 2.0.11
公司的框架 选取的是 花裤衩大神开源的 基于 element ui + Vue 的后台管理项目, 项目源码就不公开了,记录 分享下 步骤 1. 卸载 element ui 1.4的依赖包 2. 卸载完 ...
- [坑况]饿了么你是这样的前端——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/ ...
- Vue + Element UI项目初始化
1.安装相关组件 1.1安装Node 检查本地是否安装node node -v 如果没有安装,从Node官网下载 1.2安装npm npm -v 如果没有安装:使用该指令安装: npm install ...
- Element UI——本地引入iconfont不显示
前言 前面因为本地引入Element UI导致了iconfont不显示,所以只好再去Element UI官网去扒下iconfot 步骤 进入官网 组件 | Element UI F12进入控制台,找到 ...
- Html | Vue | Element UI——引入使用
前言 做个项目,需要一个效果刚好Element UI有,就想配合Vue和Element UI,放在tp5.1下使用,但是引入在线的地址各种报错,本地引入就完美的解决了问题! 代码 __STATIC_J ...
- 分享一个自搭的框架,使用Spring boot+Vue+Element UI
废弃,新的:https://www.cnblogs.com/hackyo/p/10453243.html 特点:前后端分离,可遵循restful 框架:后端使用Spring boot,整合了aop.a ...
- 上传图片组件封装 element ui
// element ui 文档地址: http://element.eleme.io/#/zh-CN <template> <div> <div class=" ...
- vue项目使用element ui的Checkbox
最近使用到element ui的下拉多选框Checkbox Checkbox用法可参考与于 http://element.eleme.io/#/zh-CN/component/checkbox Che ...
- vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用
其实这3个讲的是一个问题,先说下问题,我在watch里设置一个监听,当弹窗打开时,自动添加树形的默认选中项, 但奇怪的是this.$refs为undefined,自然setCheckedKeys无法使 ...
随机推荐
- [USACO08DEC]拍头Patting Heads 水题
类似素数筛,暴力可过,不需要太多的优化 Code: #include<cstdio> #include<algorithm> #include<string> us ...
- Https个人总结
花了一个星期终于搞懂了.. HTTPS个人总结: 一.RSA算法 公钥:可以分发给任意的钥匙 私钥:自己保留起来,不分发给别人的钥匙 RSA算法: 找出质数p.q n = p*q Φ(n)=(p-1) ...
- 通过浏览器地址进行 post get 请求
首先安装curl 1.post chcp 65001 title 接口测试脚本 d: cd D:\curl\ curl -l -X POST -d "params" url ech ...
- windows上 python有多版本,如何管理,如何区别?
win10环境下: 1. where python 查看安装了哪些版本. 2.更改对应python.exe 文件的名称就能更改调用python的名称了. 3.不同python是两个完全独立的软件(独立 ...
- 紫书 习题 10-3 UVa 1643(计算几何 叉乘)
直观感觉对角线重合的时候面积最大 然后可以根据方程和割补算出阴影部分的面积 注意知道两点坐标,可以求出与原点形成的三角形的面积 用叉乘,叉乘的几何意义以这两个向量为边的平行四边形的面积 所以用叉乘除以 ...
- PKU 2528 Mayor's posters
题意: 一个公告板上面贴海报,宽度都是一样的,长度可能不一样.后面的海报可能把前面的覆盖掉.问最后能看见多少张不同的海报. 思路: 这题原来做过,是用线段树的区间染色写的.记录每个区间是纯色还是杂色. ...
- 最长回文字串 (The longest palindrome substring)
这两天去学了一下,觉得下面那篇文章写的很好,有例子,比较容易懂,所以转一下. 以下内容来自:hihoCoder: 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互 ...
- File的getPath()和getAbsolutePath()和getCanonicalPath()的差别
这几个方法是有一次无意的发现,我当时也不知道什么意思,就百度了,查到了一些列子: 原文地址http://www.blogjava.net/dreamstone/archive/2007/08/08/1 ...
- 基于CC2530的ZigBee转以太网网关的设计与实现
*已刊登至:<无线电>8月刊 物联网技术的实现中,无线技术是必不可少的部分. 近年无线技术的发展,将ZigBee推入人们的视线中.那么ZigBee是如何的一种技术呢?带着疑问.我查询了它的 ...
- Linux 6.2配置yum本地
yum 1.挂在iso文件 [root@localhostmedia]# mount /dev/cdrom /media 2.安装createrepo createrepo是配置YUM源的配置工具,检 ...