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-if
或v-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() 可以接收三个参数
- 要绑字的数据。
- 要添加或修改的属性名称。
- 要赋的值
this.$set(this.projectList, 'projectName', 'chenxuemin') --针对对象的 this.$set(this.items, 0, { message: "更改one的值", id: "0" });--针对数组的
2、手动更新视图
它可以影响到本实例及本实中的 slot 插槽内容
this.$forceUpdate() // vm.$forceUpdate()