首先代碼是這個樣子的,使用v-model
<el-date-picker v-model="formData.createTime" :disabled="true" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="選擇日期"> </el-date-picker>
當formData.createTime接收后台的值是時間戳時,頁面F12報:TypeError: dateStr.search is not a function
為什么呢,查看官網文檔:使用format
指定輸入框的格式;使用value-format
指定綁定值的格式。
這里綁定值並不是時間戳 :value-format="yyyy-MM-dd HH:mm:ss"
當我改為:value-format="timestamp"就可以了
當然如果你不想改,就用更麻煩的方法把綁定值時間戳轉化為對應的時間格式
方法如下:
function myFormatDate(dd) { var now=new Date(dd); var year=now.getFullYear(); var month=now.getMonth()+1; var date=now.getDate(); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second; }
處理一下this.formData.createTime = myFormatDate(this.formData.createTime)
當然這樣很麻煩,而且代碼也繁瑣,這就是我開始沒具體看文檔寫的方法,所以細心閱讀文檔還是很重要的