DateTimePicker 日期时间选择器报错 Cannot read property ‘getHours‘ of undefined, 无法选中`[__ob_: observer__]`时做判断
我在一次開發(fā)中遇到了這個情況:使用DateTimePicker 日期時間選擇器,出現(xiàn)無法選中,
報錯 Cannot read property ‘getHours’ of undefined,
這個原因是,這個DateTimePicker 日期時間選擇器 v-model 綁定的屬性對應的數(shù)據(jù)類型,只能是 String() 類型的,其他數(shù)據(jù)類型均會報錯,我這邊是因為接口要求,改成了數(shù)組類型,所以報錯了。
這是個人的部分代碼:
<el-date-pickerv-model="searchForm.inviteTimeList"type="datetime"placeholder="選擇日期時間"style="width: 600px"></el-date-picker>我個人解決辦法: 不要修改其數(shù)據(jù)類型, 在發(fā)送請求前,設置一個變量,把這個值存儲到這個變量中,再吧這個變量處理成自己想要的數(shù)據(jù)類型。
我需要的是數(shù)組數(shù)據(jù)類型,下面貼上我自己的代碼
// state.chatSearchForm.inviteTimeList 就是 時間日期選擇器 v-model 綁定的值, 數(shù)據(jù)類型為 String // Object.prototype.toString.call(inviteTimeListQuery) === '[object Date]' -代表只有選擇了時間日期,這個 v-model綁定的屬性才會有數(shù)據(jù) // [object Date] --這個要根據(jù) 選中時間日期時, v-model屬性獲取到值得數(shù)據(jù)類型來做判斷,如果你獲取得時間是 時間戳,這里應該是[object Array] , 我這邊獲取的 標準日期格式的。 // getTime() 是將標準日期格式處理成 時間戳。這里還有更好的處理方法,但是我懶得寫了。 let inviteTimeListQuery = state.chatSearchForm.inviteTimeList || '';if (Object.prototype.toString.call(inviteTimeListQuery) === '[object Date]') {inviteTimeListQuery = [inviteTimeListQuery.getTime()];} else {inviteTimeListQuery = [];}這樣就好了,不會報錯了,然后把這個inviteTimeListQuery 處理后的值 傳給 后端即可。
有時候數(shù)據(jù)會包含[__ob_: observer__] 這個,想要做判斷某個屬性是否有值,可以先判斷這個值是否存在,再判斷這個值的length,這樣就可以判斷這個屬性是否有值。
// 比如我要判斷 courseLists這個屬性是否有值,有值就要做其他處理,這樣寫就只有有值時才會進入這個判斷this.searchForm.courseLists && this.searchForm.courseLists.lengthelementui 一些遇到的其他問題合集: 傳送門
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的DateTimePicker 日期时间选择器报错 Cannot read property ‘getHours‘ of undefined, 无法选中`[__ob_: observer__]`时做判断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米路由器玩法大集合-小米无线路由器如何
- 下一篇: 无线路由器与无线网卡详解-路由器如何当无