能效诊断
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
|
||||
export default {
|
||||
bind (el, binding) {
|
||||
const input = el.querySelector('.van-field__control') || el
|
||||
input.onkeyup = () => {
|
||||
// v-input.reset 后端为空不更新数据:前端处理为空重置为0
|
||||
if (binding.modifiers.reset) {
|
||||
dataReset(input)
|
||||
}
|
||||
// v-input.num
|
||||
if (binding.modifiers.num) { // 只能输入数字≥0
|
||||
onlyNum(input)
|
||||
}
|
||||
// v-input.num0
|
||||
if (binding.modifiers.numNo0) { // 只能输入数字>0
|
||||
onlyNum0(input)
|
||||
}
|
||||
input.dispatchEvent(new Event('input'))
|
||||
}
|
||||
|
||||
input.onblur = () => {
|
||||
// v-input.float
|
||||
if (binding.modifiers.float) { // 数字+小数点≥0
|
||||
onlyFloat(input)
|
||||
}
|
||||
// v-input.allFloat
|
||||
if (binding.modifiers.allFloat) { // 数字+小数点≥0
|
||||
allFloat(input)
|
||||
}
|
||||
if (binding.modifiers.floatNo0) { // 数字+小数点>0
|
||||
onlyFloat0(input)
|
||||
}
|
||||
input.dispatchEvent(new Event('input'))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function dataReset (input) {
|
||||
input.value = input.value || 0
|
||||
}
|
||||
function onlyNum (input) {
|
||||
input.value = input.value.replace(/\D+/g, '')
|
||||
}
|
||||
function onlyNum0 (input) {
|
||||
input.value = input.value.replace(/\D+/g, '')
|
||||
if(input.value == 0){
|
||||
input.value = ''
|
||||
}
|
||||
}
|
||||
|
||||
function onlyFloat (input) {
|
||||
input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')
|
||||
if(Number(input.value) < 0){
|
||||
input.value = ''
|
||||
}
|
||||
}
|
||||
function onlyFloat0 (input) {
|
||||
input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')
|
||||
if(Number(input.value) == 0 || Number(input.value) < 0){
|
||||
input.value = ''
|
||||
}
|
||||
}
|
||||
|
||||
function allFloat (input) {
|
||||
input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import input from './index'
|
||||
|
||||
export default{
|
||||
install: Vue => {
|
||||
Vue.directive('input', input)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user