vue中el-date-picker type=daterange日期清空時(shí)不回顯的解決
vue中el-date-picker type=daterange日期清空時(shí)不回顯
<div class="search-brank"> <label style="cursor:pointer;" @click="search"><i class="icon-date"></i></label> <el-date-picker :editable='false' v-model="datetime" type="daterange" unlink-panels class="datePickers" start-placeholder="開始日 期" end-placeholder="結(jié)束日期" @change="handleDate" :picker-options="pickerOptions0" clearable> </el-date-picker> </div>
賦值函數(shù):
? ? ? ? ? ? handleDate(){ ? ? ? ? ? ? ? ? if(this.datetime[0]!=null){ ? ? ? ? ? ? ? ? ? ? ?this.starttime=this.formDate(this.datetime[0]); ? ? ? ? ? ? ? ? ? ? this.endtime=this.formDate(this.datetime[1]); ? ? ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? ? ? ? ?this.starttime=''; ? ? ? ? ? ? ? ? ? ? ?this.endtime=''; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? },
問題:當(dāng)控件清空或修改時(shí),@change=“handleDate”不會(huì)觸發(fā),datetime并不會(huì)實(shí)時(shí)更新。并且實(shí)際上,如果清空了datetime是null,并沒有this.datetime[0]=null,this.datetime[1]=null的說法。
解決:使用@input=“immediUpdate”。
<div class="search-brank"> ? ? ? ? ? ? ? ? <label style="cursor:pointer;" ?@click="search"><i class="icon-date"></i></label> ? ? ? ? ? ? ? ? <el-date-picker ? ? ? ? ? ? ? ? ?:editable='false' ? ? ? ? ? ? ? ? ? ? v-model="datetime" ? ? ? ? ? ? ? ? ? ? type="daterange" ? ? ? ? ? ? ? ? ? ? unlink-panels ? ? ? ? ? ? ? ? ? ? ?class="datePickers" start-placeholder="開始日 ? 期" end-placeholder="結(jié)束日期"? ? ? ? ? ? ? ? ? ? ? @input="immediUpdate" ? ? ? ? ? ? ? ? ? ? :picker-options="pickerOptions0" clearable> ? ? ? ? ? ? ? ? </el-date-picker> ? ? ? ? ? ? ?</div>
? ? ? ? ? ? immediUpdate(e) { ? ? ? ? ? ? ? ? this.$nextTick(() => { ? ? ? ? ? ? ? ? ? ? if(e==null){ ? ? ? ? ? ? ? ? ? ? ? ? this.starttime=''; ? ? ? ? ? ? ? ? ? ? ? ? this.endtime=''; ? ? ? ? ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? ? ? ? ? ? this.$set(this,"datetime", [e[0], e[1]]); ? ? ? ? ? ? ? ? ? ? ? ? this.starttime=this.formDate(this.datetime[0]); ? ? ? ? ? ? ? ? ? ? ? ? this.endtime=this.formDate(this.datetime[1]); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? }); ? ? ? ? ? ? },
vue element-ui el-date-picker日期選擇器清空按鈕的坑
watch監(jiān)聽選擇器 點(diǎn)擊清空按鈕時(shí)會(huì)報(bào)錯(cuò)
這是因?yàn)镋lement-ui中沒有內(nèi)置清除按鈕的回調(diào)函數(shù), 當(dāng)點(diǎn)擊清除按鈕的時(shí)候,value會(huì)被設(shè)置為null。
解決方法
在下次調(diào)用之前,為value重新賦值,錯(cuò)誤解決,
if (!newData) { newData = [] }
然后在為value重新賦值前把開始日期和結(jié)束日期綁定的值置為空,就成功清除了:
watch: { time_value(newData) { if (!newData) { newData = [] this.startCreateTime = '' //開始日期 this.endCreateTime = '' //結(jié)束日期 } //日期格式轉(zhuǎn)換 this.startCreateTime = this.$moment(newData[0]).format( 'YYYY-MM-DD HH:mm:ss' ) this.endCreateTime = this.$moment(newData[1]).format( 'YYYY-MM-DD HH:mm:ss' ) this.current = 1 this.initData() }, },
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- vue3中reactive的對(duì)象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了)
- Vue.js實(shí)現(xiàn)輸入框清空功能的兩種方式
- vue前端更新后需要清空緩存代碼示例
- vue3清空reactive的四種方式
- Vue3如何清空Reactive定義的數(shù)組
- vue返回首頁后如何清空路由問題
- ant design vue 清空upload組件圖片緩存的問題
- vue如何實(shí)現(xiàn)清空this.$route.query的值
- vue清空form對(duì)象的方法
- vue3清空let?arr?=?reactive([])的實(shí)現(xiàn)示例
相關(guān)文章
vue-cli中實(shí)現(xiàn)響應(yīng)式布局的方法
這篇文章主要介紹了vue-cli中實(shí)現(xiàn)響應(yīng)式布局的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03elementui 開始結(jié)束時(shí)間可以選擇同一天不同時(shí)間段的實(shí)現(xiàn)代碼
這篇文章主要介紹了elementui 開始結(jié)束時(shí)間可以選擇同一天不同時(shí)間段的實(shí)現(xiàn)代碼,需要先在main.js中導(dǎo)入相應(yīng)代碼,代碼簡單易懂,需要的朋友可以參考下2024-02-02Vue如何實(shí)現(xiàn)驗(yàn)證碼輸入交互
這篇文章主要介紹了Vue實(shí)現(xiàn)驗(yàn)證碼輸入交互的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-12-12Element?el-tag標(biāo)簽圖文實(shí)例詳解
現(xiàn)在好多應(yīng)用場景里會(huì)有一些需要給文章打標(biāo)簽等類似的操作,下面這篇文章主要給大家介紹了關(guān)于Element?el-tag標(biāo)簽的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04使用Vue.observable()進(jìn)行狀態(tài)管理的實(shí)例代碼詳解
這篇文章主要介紹了使用Vue.observable()進(jìn)行狀態(tài)管理的實(shí)例代碼,本文通過代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05詳解VSCode配置啟動(dòng)Vue項(xiàng)目
這篇文章主要介紹了VSCode配置啟動(dòng)Vue項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05