TypeError: value.getTime is not a function (elementUI報錯轉載 )
阿新 • • 發佈:2018-11-10
"TypeError: value.getTime is not a function"
2018年07月02日 16:41:24 leeleejoker 閱讀數:2091 個人分類: elementUI首先說一下我使用的實際場景
html程式碼:
js程式碼:
首先說明出現原因,elementUI的日期選擇器【el-date-picker】在加上格式
value-format="yyyy-MM-dd" format="yyyy-MM-dd"
和校驗規則時
{ type: 'date', required: true, message: '請選擇日期', trigger: 'change' }
會出現頂上問題,結合網路上各路大神的解決方案,實踐得出,
解決方案如下:
校驗規則 【type: 'date'】改為【type: 'string'】
// 原因可能是:elementUI自帶的格式轉換後會將繫結值轉為字串,而校驗規則中的【type: 'date'】已經不匹配,至於它的報錯是因為轉換為字串,不是date物件所以沒有getTime這個方法了。(說是可能呢,是因為是個人推理見解,具體專業原因還要再探討)
(時間選擇器【el-time-picker】也有同樣問題)
如果對改為string不放心,可以設定 :editable="false"
<el-date-picker v-model="temp.PurchaseDate" :editable="false" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="選擇日期"/> 校驗規則: PurchaseDate: [{ type: 'string', required: true, message: '不能為空', trigger: 'change' }] 這樣使用者輸入的值必定是通過程式選中的值。 但其實必要,指定type="date"後,測試發現,手動輸入的值都會被轉換為指定的日期格式。