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()


相关文章
|
5月前
|
前端开发 JavaScript API
document.querySelector什么意思
document.querySelector什么意思
251 0
|
6月前
|
JavaScript 前端开发 API
document 对象
document对象是JavaScript中最重要的对象之一,它表示当前页面的HTML文档。document对象提供了丰富的属性和方法,允许我们访问、操作和修改HTML文档的结构和内容。
54 3
|
6月前
|
存储 算法 对象存储
【C++11算法】minmax和minmax_element
【C++11算法】minmax和minmax_element
142 0
|
6月前
'WebDriver' object has no attribute 'find_element_by_tag_name'
'WebDriver' object has no attribute 'find_element_by_tag_name'
320 0
element-ui本地使用
element-ui本地使用
106 0
|
XML JavaScript 前端开发
你真的知道DOM吗(中)----(Document类型, Element类型)
你真的知道DOM吗(中)----(Document类型, Element类型)
98 0
|
存储 移动开发 缓存
Day23 - document以外的常用对象
Day23 - document以外的常用对象
111 0
Element Plus 相关
Element Plus 相关
119 0
|
Web App开发 JavaScript iOS开发
|
算法 C#
算法题丨Remove Element
描述 Given an array and a value, remove all instances of that value in-place and return the new length.
1044 0