<el-form-item
? ? ? ? ? label="選擇日期:"
? ? ? ? ? prop="timeArrange"
? ? ? ? ? required
? ? ? ? ? :label-width="formLabelWidth"
? ? ? ? >
? ? ? ? ? <el-date-picker
? ? ? ? ? ? class="info-form-times"
? ? ? ? ? ? v-model="form.timeArrange"
? ? ? ? ? ? type="daterange"
? ? ? ? ? ? unlink-panels
? ? ? ? ? ? value-format="timestamp"
? ? ? ? ? ? range-separator="至"
? ? ? ? ? ? start-placeholder="起始年月日"
? ? ? ? ? ? end-placeholder="結(jié)束年月日"
? ? ? ? ? ? @change="handleTimestamp"
? ? ? ? ? ></el-date-picker>
? ? ? ? </el-form-item>
我在使用elementUI里的日期選擇器時,遇到了當(dāng)沒有設(shè)置選擇器的初始值,首次打開,選擇日期后,可以拉起@change事件;而當(dāng)設(shè)置好回顯值(初始值)時,無法拉起change事件的問題。
官網(wǎng)的el-date-picker組件的事件有以下三種:

經(jīng)過測試,當(dāng)事件綁定改為blur時,拉起handleTimestamp方法成功??磥碓虺鲈谑录O(jiān)聽的方式綁定上面。
? ? ? ? ? ? @blur="handleTimestamp"
我們再看一下源碼中,為什么是blur才行:

node_modules里,date-picker組件內(nèi)監(jiān)聽picker顯示隱藏屬性里拉起blur函數(shù),但未拉起change函數(shù)。
使用blur事件驅(qū)動日期選擇器數(shù)據(jù)問題,完美解決。