代码截图:
这样赋值后发现时间改变不了了,@chang事件也不会响应,然后我以为是赋值时new Date()的问题去除了还是不行,网上很多人是这么指导的,但是他们基本都是和官方案例一样,不是写在对话框内的,就是单独一个时间选择器这样的话直接this.formInline.dataTime = [res.startTime, res.endTime]赋值就可以了,改变也是没问题的。
那么如果在对话框里的话,时间选择器v-model="dataTime“的话呢?这么赋值也是可以的,但是校验会有问题,效果如下
赋值代码就不贴了,想一下就知道了。
问题及解决办法
最后在多方检查,查看大哥案例代码后发现,是这个赋值问题,时间选择器初始值得用this.$set来设置
this.$set(this.formInline, 'dataTime', [res.startTime, res.endTime])
上面图片了也有,被我注释掉,最后这个问题就解决了
在第一次使用
element的
日期选择器时,按照官方文档的说明进行
设置,但在我的需求中,需要给它一个从后台获取的默认值。
赋值之后发现再去手动
修改日期根本不生效,而且我
设置的change方法也触发不了。
解决方式是深拷贝从父组件传递过来的数据,拷贝后的数据不带有__ob__: Observer属性,并且页面的时间也能
修改了,change方法也可以触发了。
需求是这样的:
数据渲染表格,表格里每行都有一个“编辑”按钮,点击拿到当前点击行的信息,并弹窗展示该行信息,并可编辑,其中有一项就是有效期,该项用到element ui 的日期时间选择器,type设置为datetimerange,但是!给日期时间控件添加了当前行内的日期后,点击重新更改日期,model是拿到最新值了,view没有拿到,点击确定后展示的还是旧的值,看了一些参考文章,得出代码:
html:
<el-date-picker
v-model="templateList.rangedate"