Element UI + vue2 下 日期选择框 赋值 number 类型的值时的报错处理

解决方案:
将接口返回的number型数据 toString() 一下,转换成String类型即可。
date = resDate.toString()

背景:

在使用 Element UI 2.15.7 + vue2 时,给日期选择框(format:yyyyMMdd) 赋值的 值从接口中获取时,如果接口返回了 number 类型的数据,赋值时会报如下错误:

TypeError: e.match is not a function
    at u.parse (index.min.js:1:4574)
    at Sn (index.min.js:1:249799)
    at Jn (index.min.js:1:252917)
    at Qn (index.min.js:1:252983)
    at a.parsedValue (index.min.js:1:258092)
    at pn.get (vue.min.js:6:26867)
    at pn.evaluate (vue.min.js:6:28007)
    at a.parsedValue (vue.min.js:6:29911)
    at a.displayValue (index.min.js:1:257696)
    at pn.get (vue.min.js:6:26867)

解决方案

将返回的number型数据 toString() 一下,转换成String类型即可。
date = resDate.toString()

可能的说明

该组件的值类型可能不支持number类型,
日期选择框 可接受的值类型:Date | string | Date[] | string[]
参考:
// \_element-ui@2.15.12@element-ui\types\date-picker.d.ts

/** DatePicker Component */
export declare class ElDatePicker extends ElementUIComponent {
  /** The value of the date picker */
  value: Date | string | Date[] | string[]
  // ...
} 

相关代码

<el-date-picker 
	v-model="date" 
	type="date" 
	format="yyyyMMdd" 
	value-format="yyyyMMdd"
/>

说明

作者是半半个前端,偶尔写写前端,遇到的小问题分享下,如有同遇可参考下。

如有理解的不对的,帮忙纠正告知下哈,欢迎讨论。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值