日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小弟带你走进VUE中input最大值设置出现的问题以及黑科技解决方案

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小弟带你走进VUE中input最大值设置出现的问题以及黑科技解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是初心。

前言:以下只針對input為number類型并且設置最大值時對應的解決方案。至于其他情況,課后可以自己試試。。。額,那么繼續了

目標:提供2種黑科技解決input值不能視圖不更新問題

Don't BB,Look me copy

1 <el-table-column label="入庫數量" prop="zj" min-width="80" align="center" show-overflow-tooltip> 2 <template slot-scope="scope"> 3 <el-input 4 :value="scope.row.rksl" 5 @input="numberChange(arguments[0],scope.row.id)" 6 @change="numberChange(arguments[0],scope.row.id)" 7 type="number" 8 :max="scope.row.sl" 9 > 10 </el-input> 11 </template> 12 </el-table-column>

?

1 [ 2 { 3 id : 0,sm : '自動化管理', zz : '黎明', cbs : '電子音像出版社', ghs : '電子音像出版社', jg : 30.00, zk : '7.0', 4 rksl : 300, sl : 300, bz : '' 5 } 6 ]

?

以上分別時html代碼data數據以及js方法

這樣有的朋友該吐槽了,用max=“300”,控制最高值。那么我就要回答你,少年你還是想的太簡單,等一下我解釋給你,Don't worry!

然后上視圖

PS:我此次用的element-UI做的,但是不影響,效果都一樣。

可以看到input里初始值是數量的頂峰值,那么重點來了,只要input框里輸入數值位數在3位數,那么max=“300”方法和這我寫的這個都是有效的。

但是輸入在4位數的時候,比如 輸入299你在輸入任意一個數的話,值是300,再接著輸入任意一個數就會如下圖所示(上面max=“300”的方法也是下面效果)

?

?

?此時輸入出現3009了,是什么導致JS GG的呢,我嘗試去找問題。

?

可能與上面的代碼有所不同,不過在這里效果都是一樣。

debugger不虧是神碼,這時會發現

?

?TM明明把值重置了300為什么視圖上面還是顯示3009(PS:明明不是人名)

事情發展到了這里,我反思了一下,究竟什么讓視圖沒有變化。然而我想了大概30S左右,得出一個結果。當你輸入300的時候date里的值也是300,在加一個數字的時候 JS計算后也是的300 那么data里的值的300和新的300沒有變化,所以導致視圖沒有更新。當然這也只是個猜想。既然是猜想那么就證實一下吧。

我針對了我的想法,想出了2種解決方案

解決方案1:把data里數據的值強行改變你輸入的值,之后再做判斷,并且賦值。這樣一來data里的值一定有變動,那么視圖也會更新

圖1方案是失敗的,圖2為正確操作。至于為什么要加this.$nextTick,不懂得可以查一下,這里就不做引申了。

然后此方案完美解決(黑科技有沒有),這種解決方法也是夠賤得了,但是看下面的方法你就知道這方法還遠遠不夠賤。

解決方案2:input事件傳遞$event,直接改input里的值

PS:此方法在element-ui上的標簽不能解決,若你用了emement-ui還是老老實實的用上面的方法吧,因為element-UI有一套自己的方法傳值,不支持$event,翻一下源代碼就能看到。所以比較蛋疼

代碼html:

1 <input 2 :value="scope.row.rksl" 3 @input="numberChange($event,scope.row.id)" 4 @change="numberChange($event,scope.row.id)" 5 type="number" 6 :max="scope.row.sl" 7 />

js:

1 numberChange(e,id){ 2 let val = e.target.value; 3 let index = findIndex(this.tableData1,{id : id}); 4 let newVal = Math.min(toNumber(val), this.tableData1[index].sl); 5 this.tableData1[index].rksl = toNumber(newVal); 6 e.target.value = toNumber(newVal); 7 }

這樣一來也解決了。

總結:

方法1:在視圖上? ?輸入3009看到的是3009然后的一瞬間馬上變回300,是有過度效果的。

方法2:在視圖上? 無變化,輸入300,在輸入一個數字,直接變300,無過度變化。但是此方法不適用于element-ui!

大家好,我是初心!感謝你能夠花時間觀看。

第一次寫博客有什么地方不好還請見諒,若有大神能夠指點再感謝不過。

那么小弟先撤了!拜拜

?

轉載于:https://www.cnblogs.com/winter0618/p/9851179.html

總結

以上是生活随笔為你收集整理的小弟带你走进VUE中input最大值设置出现的问题以及黑科技解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲国产一区在线 | 人妻 日韩 欧美 综合 制服 | 亚洲精品婷婷 | 在线免费观看av网站 | 夜夜草导航 | 一区二区视频免费看 | 久久av影院 | 小泽玛利亚一区二区三区视频 | 久久天天操| 欧美在线三区 | 亚欧成人在线 | 亚洲狠狠婷婷综合久久久久图片 | 欧美碰碰碰| 亚洲国产精品女人 | 久久国产精品无码网站 | 不卡中文字幕在线观看 | 久久久香蕉视频 | 懂色av粉嫩av蜜乳av | 少妇久久久久久被弄高潮 | 国产综合视频 | 欧美大尺度做爰啪啪床戏明星 | 久久狠狠干 | 亚洲一级色 | 中文字幕35页 | 国产日本一区二区 | 成人片在线看 | xxx日本黄色| 精品一区二区三区电影 | 日韩高清影视在线观看 | 亚洲免费精品视频在线观看 | 鲁丝一区二区三区 | se在线观看 | 九九九九精品 | 国产无套在线观看 | 韩国美女毛片 | 91热热 | 视频一区在线免费观看 | 国产一区二区精彩视频 | 三级视频在线观看 | 麻豆av导航 | 91麻豆国产在线观看 | 中文字幕亚洲无线码在线一区 | 一级黄色片一级黄色片 | 亚洲高清色图 | 亚洲乱熟女一区二区 | 变态 另类 国产 亚洲 | 欧美日韩生活片 | 狠狠欧美 | 人成免费| 91在线观看欧美日韩 | 蜜桃av噜噜一区二区三区网址 | 热久久精 | 伊人久久中文字幕 | 日韩视频中文字幕在线观看 | 激情无遮挡 | 国产精品乱码一区二区三区 | 香蕉网站在线 | 一区二区三区免费在线 | 亚洲av无码一区东京热久久 | 蜜臀av性久久久久蜜臀av麻豆 | 久久99伊人| 精品一区不卡 | 日韩经典一区二区 | 无码精品视频一区二区三区 | 久久久人人爽 | 国模少妇一区二区 | 操伊人| 中文成人在线 | 国产av无码专区亚洲av | 中文字幕国产日韩 | 羞羞色视频| 国产视频污 | 国产三级一区二区三区 | 九九热免费在线视频 | 五月婷网站 | 小泽玛丽亚在线观看 | 精品第一页 | 一区三区在线观看 | 亚洲免费成人在线 | 4438亚洲最大 | 在线观看免费视频一区二区 | 亚洲熟女综合色一区二区三区 | 美女18网站 | 扶她futa粗大做到怀孕 | 人人爱人人草 | 少妇又紧又色又爽又刺激视频 | 国产主播在线播放 | 在线亚洲天堂 | 免费在线播放视频 | 91视频在线观看视频 | 麻豆成人免费视频 | 日韩欧美福利 | 四虎成人精品在永久免费 | 精品无码国产一区二区三区51安 | 久久国产精品无码网站 | 成人午夜免费网站 | 国产第六页| 午夜成人免费视频 | 操网站|