在vue工程中,採用了elemnt-ui元件庫進行前端開發,有這樣乙個需求:在input元件中只能限制輸入數字和小數點符號,並且小數點後最多保留兩位有效數字,同時需要支援實時動態地將數字自動轉換為千位符格式。
面對這樣的需求,我們首先要判斷input元件自身是否有這樣的屬性支援,根據element-ui官方介紹,沒有發現這樣的屬性;接下來我們就要分析如何通過邏輯關係來實現它了,不過整體的邏輯思路也很簡單,包括校驗和格式化兩部分;具體的實現流程方式有兩種策略流程可供參考:
目前是根據第一種策略來實現的,先校驗輸入的內容,然後進行格式化處理,最後在blur事件時保留兩位有效數字(不進行四捨五入操作,只單純地保留位數)。這裡的校驗方式可以通過表單校驗實時校驗,也可以通過監聽來實時校驗;
1、表單校驗
在的插槽中放置元件,同時新增el-input元件的input事件,在該事件的處理方法中呼叫form的validatefield函式對表單指定字段進行校驗,校驗通過了就可以**函式中進行格式化處理。
2、監聽校驗
通過watch屬性來監聽el-input元件繫結值的變化,在handle中先進行校驗,校驗通過了就進行格式轉換,最後通過$emit()方式重新賦值,不能直接給繫結值賦值操作哦,不然控制台會提示錯誤資訊。
實時監聽input值改變
在 web開發中經常會碰到需要動態監聽輸入框值變化的情況,如果使用 onkeydown onkeypress onkeyup 這個幾個鍵盤事件來監測的話,監聽不了右鍵的複製 剪貼和貼上這些操作,處理組合快捷鍵也很麻煩。因此這篇文章向大家介紹一種完美的解決方案 結合html5標準事件 oninput ...
實時監控input輸入值變化
在web開發中,我們有時會需要動態監聽輸入框值的變化,當使用onkeydown onkeypress onkeyup作為監聽事件時,會發現一些複製貼上等操作用不了,同時,在處理組合快鍵鍵的時候也很麻煩。這時候我們需要更專業的解決方案 html5標準事件oninput onchange和ie專屬的事件...
JQ實時監聽input的value值
doctype html html lang en head meta charset utf 8 title document title head body id lia body div class lia content div class label span 姓名 span input ...