国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - vue 移動端的input 數(shù)字輸入優(yōu)化

瀏覽:50日期:2023-02-27 09:13:01

問題描述

這是移動端使用的, input type 為number 時 英文或中文都沒有限制,而且maxlength不起作用,input type 為tel 時 英文或中文也都沒有限制,但maxlength有作用,所以用tel,keyup 是為了過濾數(shù)字以外的字符。請問大神這段代碼還有沒有優(yōu)化的空間?

<input v-model='phoneNumber' placeholder='輸入手機(jī)號' type='tel' maxlength='11' @keyup='handleFilterLetters'><script type='text/javascript'> vm = new Vue({ el: '#app', data: {phoneNumber: null, }, methods: {handleFilterLetters: function(){ var self = this; self.phoneNumber=self.phoneNumber.replace(/[^d]/g,’’);}, }})</script>

問題解答

回答1:

phoneNumber 初始值應(yīng)該是字符串的 ’’,否則對一個可能為 null 的變量調(diào)用 replace 是不安全的。

var self = this 是不必要的。

handleFilterLetters 好長啊,改成 onKeyUp 不好讀一點(diǎn)嗎(

<input> 一行寫的太長了,eslint-airbnb 的規(guī)則是

<input v-model='phoneNumber' placeholder='輸入手機(jī)號' type='tel' maxlength='11' @keyup='handleFilterLetters'/>回答2:

樓上說的都對題主還可以多注意一下 code style 比如:self.phoneNumber=self.phoneNumber.replace(/[^d]/g,’’);

寫成self.phoneNumber = self.phoneNumber.replace(/[^d]/g,’’);

比較好

回答3:

這里用的局部filter

如果想可復(fù)用程度高點(diǎn),全局filter也可以的

<p > <input :value='phone | num' @keyup='phoneChange' /></p>

var app = new Vue({ el: '#app', data: { phone: '' }, methods: { phoneChange(e) { this.phone = e.target.value this.$forceUpdate() // 這里必須有 } }, filters: { ’num’: function(value) { return value.replace(/[^d]/g, ’’) } }})

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 亚洲理论片在线观看 | 成人爱爱网站在线观看 | 免费va国产高清不卡大片 | 国产在线不卡免费播放 | 免费一级特黄 欧美大片 | 中文字幕波多野不卡一区 | 国产精品毛片 | 成年人免费网站在线观看 | 午夜国产亚洲精品一区 | 国内自拍视频在线看免费观看 | 亚洲素人在线 | 久久爽久久爽久久免费观看 | 亚洲图片偷拍自拍 | www亚洲视频 | 国产伦子伦视频免费 | 国产女王女m视频vk 国产女王丨vk | 俄罗斯一级成人毛片 | 欧美ⅹxxxx视频| 日韩一区二区在线观看 | 亚洲高清免费在线观看 | 九色愉拍自拍 | 国内自拍第100页 | 精品99视频 | 全国最大色成免费网站 | 成人男女网18免费看 | 国产美女无遮挡软件 | 久久爽久久爽久久免费观看 | 欧美精品久久久久久久免费观看 | 在线欧美自拍 | 日韩一级特黄 | 怡红院亚洲红怡院天堂麻豆 | 日韩欧美国产高清在线观看 | 国产精品一一在线观看 | 欧美成人精品三级网站 | 在线视频三区 | 日本欧美做爰全免费的视频 | 国内精品福利在线视频 | 毛片激情永久免费 | av片免费大全在线观看不卡 | 日日狠狠久久偷偷四色综合免费 | 全部免费的毛片视频观看 |