el-date-picker 日期选择器报错:TypeError: dateStr.match is not a function

1,140 阅读1分钟

一:报错及代码

image.png

<el-form-item label="结束时间" prop="endTime">
	<el-date-picker 
            v-model="ruleForm.endTime" 
            :disabled="isViewDisabled"
            popper-class="announce-data-picker" 
            type="datetime" 
            placeholder="结束展示时间"
            format="yyyy-MM-dd HH:mm:ss" 
            value-format="yyyy-MM-dd HH:mm:ss" 
            :picker-options="{ disabledDate: time => time.getTime() < Date.now() }" 
            @change="pickerChange" />
</el-form-item>

二:报错原因

  1. 原因为页面有rules,不能和value-fomatter共存
  2. 年份必须为字符串,写成数字也报这个错误;(多谢评论区的小伙伴)

三:解决方法

需要删掉value-format

<el-form-item label="结束时间" prop="endTime">
	<el-date-picker 
            v-model="ruleForm.endTime" 
            :disabled="isViewDisabled"
            popper-class="announce-data-picker" 
            type="datetime" 
            placeholder="结束展示时间"
            value-format="yyyy-MM-dd HH:mm:ss" 
            :picker-options="{ disabledDate: time => time.getTime() < Date.now() }" 
            @change="pickerChange" />
</el-form-item>

解决~~~