不学无术的我又来了,前一篇博客,我在render中,监听了input 事件后,日期选择器正常运行了。
然后,新的问题又来了。这个问题是element-ui 2.13.0版本,一个老旧版本了,但工作上用到,不能随便升级。
我设置了value-formatter属性后,时间选择报错了,错误是显示对象没有getMonth getDate等方法。目测是传入的参数有问题,那就是input返回的值是经过value-formatter格式化后的字符串,不能直接原本地返回,这里我有个问题目前没想明白,为何v-model模式下却正常。不过先解决问题,既然字符串不可以,就先创建日期对象再传入
h(DatePicker, { props: { value: new Date(this.date), "value-formatter": "yyyy-MM-dd" }, on: { input: (v) => { this.date = v; }, }, });
问题解决,目前是这样,但是没过多久,我就点到了清除按钮,新问题来了。点击清除按钮后,组件的值不是空,而是1970-_-!!。稍微想了下,是那个new Date("")造成,只能再做点判断。
h(DatePicker, { props: { value: this.date?new Date(this.date):null, "value-formatter": "yyyy-MM-dd" }, on: { input: (v) => { this.date = v; }, }, });
能正常完成职能,暂时先这样处理了。最新版本的element已经做好处理的,这篇博客就记录下,不过真没价值了