欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

element ui的el-input-number修改數(shù)值失效的問題及解決

 更新時間:2022年05月23日 15:01:12   作者:Beam007  
這篇文章主要介紹了element ui的el-input-number修改數(shù)值失效的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

element ui的el-input-number修改數(shù)值失效

問題代碼

目的:實現(xiàn)去掉小數(shù)位。

<el-input-number v-model="cycle" @change="vaidateCycle" :min="1" :max="3600"></el-input-number>
vaidateCycle () {
?? ?let re = /^[0-9]+$/
?? ?if (!re.test(this.cycle)) {
?? ??? ?this.$message.error('請輸入1~3600之間的正整數(shù)!')
?? ??? ?this.cycle = parseInt(this.cycle)
?? ?}
}

當在輸入框輸入12.3時,光標移開觸發(fā)change事件,輸入框的值會變成12;

再次反復操作,輸入12.3,光標移開觸發(fā)change事件,輸入框的值仍然是12.3;

總之輸入框能不能祛除小數(shù)位不可控。

解決辦法

只需使用$nextTick函數(shù),改為如下即可:

<el-input-number v-model="cycle" @change="vaidateCycle" :min="1" :max="3600"></el-input-number>
vaidateCycle () {
?? ?let re = /^[0-9]+$/
?? ?if (!re.test(this.cycle)) {
?? ??? ?this.$message.error('請輸入1~3600之間的正整數(shù)!')
?? ??? ?this.$nextTick(() => {
?? ??? ??? ?this.cycle = parseInt(this.cycle)
? ? ? ? })
?? ?}
}

分析說明

el-input-number是element的一個組件,并非簡單的標簽,而change事件監(jiān)聽的是整個組件。

也就是說,光標移開觸發(fā)change事件,此時cycle值為12.3,馬上觸發(fā)dom更新。

此時修改了cycle的值,祛除了小數(shù)位。(當前組件已經(jīng)被監(jiān)測到變化,已經(jīng)觸發(fā)了重新渲染dom,此時再修改并不會再次渲染dom。)

導致dom更新在前,cycle的值取整操作在后,并且此后無刷新控制dom重新渲染的指令。

所以dom上掛載顯示的值仍然是12.3,但是console.log(this.cycle)的值為12。

此時需要用到$nextTick函數(shù),即在dom初次完成渲染掛載后,修改其值再次觸發(fā)dom渲染掛載。

官方資料

異步更新隊列:

可能你還沒有注意到,Vue 異步執(zhí)行 DOM 更新。只要觀察到數(shù)據(jù)變化,Vue 將開啟一個隊列,并緩沖在同一事件循環(huán)中發(fā)生的所有數(shù)據(jù)改變。

如果同一個 watcher 被多次觸發(fā),只會被推入到隊列中一次。

這種在緩沖時去除重復數(shù)據(jù)對于避免不必要的計算和 DOM 操作是非常重要的。

然后,在下一個的事件循環(huán)“tick”中,Vue 刷新隊列并執(zhí)行實際 (已去重的) 工作。Vue 在內(nèi)部嘗試對異步隊列使用原生的 Promise.then 和 MessageChannel,如果執(zhí)行環(huán)境不支持,會采用 setTimeout(fn, 0) 代替。

需要用的$nextTick()的情況:

1、你在Vue生命周期的created()鉤子函數(shù)進行的DOM操作一定要放在Vue.nextTick()的回調(diào)函數(shù)中。原因是什么呢,原因是在created()鉤子函數(shù)執(zhí)行的時候DOM 其實并未進行任何渲染,而此時進行DOM操作無異于徒勞,所以此處一定要將DOM操作的js代碼放進Vue.nextTick()的回調(diào)函數(shù)中。與之對應的就是mounted鉤子函數(shù),因為該鉤子函數(shù)執(zhí)行時所有的DOM掛載和渲染都已完成,此時在該鉤子函數(shù)中進行任何DOM操作都不會有問題 。

2、在數(shù)據(jù)變化后要執(zhí)行的某個操作,而這個操作需要使用隨數(shù)據(jù)改變而改變的DOM結(jié)構(gòu)的時候,這個操作都應該放進Vue.nextTick()的回調(diào)函數(shù)中。

最新說明

目前element更新到2.13.2版本可以通過“precision數(shù)值精度”去控制了。

<el-input-number size="mini" class="just-full-width" v-model="cycle" :min="1" :max="3600" :precision="0"></el-input-number>

但是有個弊端,就沒有填錯的提示了…

el-input-number組件無法修改默認值為空

<el-input-number v-model="num" ?:min="1" :max="10" label="描述文字"></el-input-number>

當num設(shè)置為 null 或者 ""  都不能將輸入框的值變?yōu)榭?/p>

后來發(fā)現(xiàn) 將num 設(shè)置為  undefined

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue實現(xiàn)修改圖片后實時更新

    vue實現(xiàn)修改圖片后實時更新

    今天小編就為大家分享一篇vue實現(xiàn)修改圖片后實時更新,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue 父子組件、組件間通信

    Vue 父子組件、組件間通信

    本篇文章主要介紹了Vue 父子組件、組件間通信示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Vue實現(xiàn)簡易翻頁效果源碼分享

    Vue實現(xiàn)簡易翻頁效果源碼分享

    本文給大家分享了vue實現(xiàn)簡易翻頁效果,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-11-11
  • vue文件樹組件使用詳解

    vue文件樹組件使用詳解

    這篇文章主要為大家詳細介紹了vue文件樹組件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Vue中的v-for循環(huán)key屬性注意事項小結(jié)

    Vue中的v-for循環(huán)key屬性注意事項小結(jié)

    這篇文章主要介紹了Vue中的v-for循環(huán)key屬性注意事項小結(jié),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • vue3按鈕點擊頻率控制的實現(xiàn)示例

    vue3按鈕點擊頻率控制的實現(xiàn)示例

    在前端開發(fā)中,當用戶頻繁連續(xù)點擊按鈕,可能會導致頻繁的請求或者觸發(fā)過多的操作,本文主要介紹了vue3按鈕點擊頻率控制的實現(xiàn)示例,感興趣的可以了解一下
    2024-01-01
  • Vue中使用Echarts儀表盤展示實時數(shù)據(jù)的實現(xiàn)

    Vue中使用Echarts儀表盤展示實時數(shù)據(jù)的實現(xiàn)

    這篇文章主要介紹了Vue中使用Echarts儀表盤展示實時數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • vue中如何通過iframe方式加載本地的vue頁面

    vue中如何通過iframe方式加載本地的vue頁面

    這篇文章主要介紹了vue中如何通過iframe方式加載本地的vue頁面,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue數(shù)據(jù)綁定實例寫法

    Vue數(shù)據(jù)綁定實例寫法

    在本篇文章里小編給大家整理的是關(guān)于Vue數(shù)據(jù)綁定實例寫法以及相關(guān)知識點,需要的朋友們學習下。
    2019-08-08
  • 詳解vue-cli中模擬數(shù)據(jù)的兩種方法

    詳解vue-cli中模擬數(shù)據(jù)的兩種方法

    這篇文章主要介紹了vue-cli中模擬數(shù)據(jù)的兩種方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07

最新評論