最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

問題代碼

目的:實(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)
?? ?}
}

當(dāng)在輸入框輸入12.3時(shí),光標(biāo)移開觸發(fā)change事件,輸入框的值會(huì)變成12;

再次反復(fù)操作,輸入12.3,光標(biāo)移開觸發(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的一個(gè)組件,并非簡單的標(biāo)簽,而change事件監(jiān)聽的是整個(gè)組件。

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

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

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

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

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

官方資料

異步更新隊(duì)列:

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

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

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

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

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

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

2、在數(shù)據(jù)變化后要執(zhí)行的某個(gè)操作,而這個(gè)操作需要使用隨數(shù)據(jù)改變而改變的DOM結(jié)構(gòu)的時(shí)候,這個(gè)操作都應(yīng)該放進(jìn)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>

但是有個(gè)弊端,就沒有填錯(cuò)的提示了…

el-input-number組件無法修改默認(rèn)值為空

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

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

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

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

相關(guān)文章

  • Vue使用el-tree 懶加載進(jìn)行增刪改查功能的實(shí)現(xiàn)

    Vue使用el-tree 懶加載進(jìn)行增刪改查功能的實(shí)現(xiàn)

    這篇文章主要介紹了Vue使用el-tree 懶加載進(jìn)行增刪改查,以懶加載的形式展示,目錄根據(jù)需求需要有新增 編輯 刪除 操作以及操作后的刷新樹結(jié)構(gòu),具體實(shí)現(xiàn)代碼跟隨小編一起看看吧
    2021-08-08
  • Vue項(xiàng)目如何部署到Tomcat服務(wù)器上

    Vue項(xiàng)目如何部署到Tomcat服務(wù)器上

    這篇文章主要介紹了Vue項(xiàng)目如何部署到Tomcat服務(wù)器上,Vue中自帶webpack,可以通過一行命令將項(xiàng)目打包,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03
  • vue-router4動(dòng)態(tài)路由刷新404/白屏的解決

    vue-router4動(dòng)態(tài)路由刷新404/白屏的解決

    本文主要介紹了vue-router4動(dòng)態(tài)路由刷新404/白屏的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • vue3路由router.push的使用以及問題分析

    vue3路由router.push的使用以及問題分析

    頁面跳轉(zhuǎn)有很多方法,本次使用的是?vue-router,但卻在使用?router.push?的時(shí)候遇到了點(diǎn)麻煩,所以記錄下來,希望可以幫助有需要的人
    2023-09-09
  • vue3如何實(shí)現(xiàn)表格內(nèi)容無縫滾動(dòng)(又寫了一堆冗余代碼)

    vue3如何實(shí)現(xiàn)表格內(nèi)容無縫滾動(dòng)(又寫了一堆冗余代碼)

    這篇文章主要給大家介紹了關(guān)于vue3如何實(shí)現(xiàn)表格內(nèi)容無縫滾動(dòng)的相關(guān)資料,在Vue3項(xiàng)目中難免會(huì)遇到讓列表滾動(dòng)的需求,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • vue3使用reactive包裹數(shù)組正確賦值問題

    vue3使用reactive包裹數(shù)組正確賦值問題

    這篇文章主要介紹了vue3使用reactive包裹數(shù)組正確賦值問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue?關(guān)于$emit與props的使用示例代碼

    Vue?關(guān)于$emit與props的使用示例代碼

    父組件使用 props 把數(shù)據(jù)傳給子組件,子組件使用 $emit 觸發(fā)父組件的自定義事件,今天通過示例給大家詳細(xì)介紹下Vue?關(guān)于$emit與props的使用,感興趣的朋友一起看看吧
    2022-03-03
  • 基于Vue實(shí)現(xiàn)拖拽效果

    基于Vue實(shí)現(xiàn)拖拽效果

    這篇文章主要介紹了基于Vue實(shí)現(xiàn)拖拽效果,文中給大家介紹了clientY pageY screenY layerY offsetY的區(qū)別講解,需要的朋友可以參考下
    2018-04-04
  • vue實(shí)現(xiàn)日歷表格(element-ui)

    vue實(shí)現(xiàn)日歷表格(element-ui)

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)日歷表格(element-ui),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Vue項(xiàng)目中v-bind動(dòng)態(tài)綁定src路徑不成功問題及解決

    Vue項(xiàng)目中v-bind動(dòng)態(tài)綁定src路徑不成功問題及解決

    這篇文章主要介紹了Vue項(xiàng)目中v-bind動(dòng)態(tài)綁定src路徑不成功問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論

若尔盖县| 嵊州市| 无锡市| 赫章县| 镇坪县| 军事| 买车| 隆化县| 丹凤县| 郎溪县| 大兴区| 梁山县| 汝南县| 邵武市| 乌拉特后旗| 东安县| 宿迁市| 云龙县| 唐河县| 靖江市| 蕲春县| 辽阳县| 台北县| 邛崃市| 新沂市| 玉山县| 凌云县| 宜川县| 鹰潭市| 莎车县| 仙游县| 蓝田县| 太仓市| 永定县| 施甸县| 九台市| 邢台县| 怀来县| 明星| 奎屯市| 南涧|