element部分技巧总结

简介: 而v-if用来切换的元素是会被销毁的,导致了v-if内的表单项,由于在mounted时期没有进行渲染,所以规则也没有绑定上。初始化时不符合显示条件的不会生成规则,导致后面切换条件,显示的输入框的校验不会生效

1、element的时间选择提交的格式为Fri Sep 07 2018 00:00:00 GMT+0800 (中国标准时间)


转化为 2020-01-11的格式 记得在datepicker中添加一句value-format=”yyyy-MM-dd”


<el-date-picker type="date" v-model="createdate" @change="formatTime" value-format="yyyy-MM-dd"  placeholder="选择时间"></el-date-picker>


2、动态循环复选框时,无法选中问题


this.menulist[index].sonList.map((item)=>{
    this.$set(item, 'checked', false); ---用vue的set属性赋值
})


3、el-form动态表单验证(v-if、v-show导致校验失效的bug)


当使用v-ifv-show来控制el-form-item的显示与隐藏时,会出现校验失效的bug。


  • 使用v-if:element在对form表单中带有prop属性的子组件进行校验规则绑定时,是在vue声明周期mounted完成的。


  • 而v-if用来切换的元素是会被销毁的,导致了v-if内的表单项,由于在mounted时期没有进行渲染,所以规则也没有绑定上。初始化时不符合显示条件的不会生成规则,导致后面切换条件,显示的输入框的校验不会生效


  • 使用v-show:初始化时会生成所有的规则,即使隐藏了也会进行规则校验


解决方法


(1)、使用v-if进行校验 每个v-if后面配置一个不同的key值,这样就可以了


(2)、自定义校验规则,喜欢动手的可以自己自定义校验


4、Vue+element table表格中如何禁用部分复选框


<el-table-column align="center" type="selection" :selectable='selectInit' width="55"/>
selectInit(row,index){
        if(row.status==2){
            return false  //不可勾选
        }else{    
            return true  //可勾选
        }
}


5、Element的表单验证规则,清空或填充数据如何避免自动触发


this.$nextTick(()=>{
      this.$refs['userInfo'].clearValidate();
 })


6、element-ui 接口返回有数据但是视图没有更新


1、vue 对象不允许在已创建的的实例上动态添加新的根级响应式属性 。(参考vue官网)


调用方法:Vue.set( target, key, value )


参数 描述
target 要更改的数据源(可以是对象或者数组)
key 要更改的具体数据
value 重新赋的值


如果非要这么做的话,我们可以使用 this.$set(),this.$set() 可以接收三个参数


  1. 要绑字的数据。
  2. 要添加或修改的属性名称。
  3. 要赋的值


this.$set(this.projectList, 'projectName', 'chenxuemin')  --针对对象的
this.$set(this.items, 0, { message: "更改one的值", id: "0" });--针对数组的


2、手动更新视图


它可以影响到本实例及本实中的 slot 插槽内容


this.$forceUpdate() // vm.$forceUpdate()


相关文章
|
前端开发
设置input标签placeholder字体颜色
有时会遇到这样的需求,输入框的默认提示文字与用户输入的文字不同。 input {color:#ff7800} 如果只是设置input的颜色的话是达不到想要的效果的,css3有关于设置placeholder的属性-input-placeholder Webkit内核的浏览器和Microso...
2478 0
|
自然语言处理 前端开发 JavaScript
Babel 的工作原理以及怎么写一个 Babel 插件
Babel 的工作原理以及怎么写一个 Babel 插件
232 0
|
JavaScript 前端开发
基于 webpack 项目接入 vite 你可能需要注意的点
基于 webpack 项目接入 vite 你可能需要注意的点
537 0
|
Android开发
编程小技巧2-idea快速移动光标到行首或行尾
编程小技巧2-idea快速移动光标到行首或行尾
579 0
编程小技巧2-idea快速移动光标到行首或行尾
|
人工智能 前端开发
修改elmentui中el-date-picker下拉框样式(大小)
修改elmentui中el-date-picker下拉框样式(大小)
|
9月前
|
Java
java 读取csv到list,再将list集合数据写入新的csv文件中
java 读取csv到list,再将list集合数据写入新的csv文件中
176 0
|
JSON 前端开发 定位技术
Echarts地图坐标geoCoordMap后台生成动态获取的解决方案
Echarts地图坐标geoCoordMap后台生成动态获取的解决方案
210 0
|
6月前
|
数据可视化 前端开发 JavaScript
【Echarts大屏】智慧图书馆可视化大屏(附源码一键复制)
【Echarts大屏】智慧图书馆可视化大屏(附源码一键复制)
|
C语言
C语言中函数参数为什么是由右往左入栈的?
先通过一个小程序来看一看: #include void foo(int x, int y, int z) { printf("x = %d at [%X]n", x, &x); printf("y = %d at [%X]n", y, &y); printf("z = %...
1383 0

热门文章

最新文章