欢迎来到小懒的博客~email:568705236@qq.com

vue2 element-ui datepicker render value-formatter

2021/11/6 12:03:34站长

    不学无术的我又来了,前一篇博客,我在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已经做好处理的,这篇博客就记录下,不过真没价值了

赞赏