uni-Identify-quality/components/fl-input-number/fl-input-number.vue
2023-09-19 09:40:04 +08:00

53 lines
1012 B
Vue

<template>
<u-input type="number"
v-model="value"
:placeholder="placeholder"
:border="border"
:readonly="readonly"
:disabled="disabled"
clearable
@blur="handleBlur"
@change="handleChange"
@focus="handleFocus" />
</template>
<script>
export default {
props: {
border: String,
placeholder: String,
readonly: Boolean,
disabled: Boolean,
val: [Number, String],
},
data () {
return {
value: null,
};
},
watch: {
val () {
this.value = this.val;
},
},
methods: {
handleBlur (e) {
this.$emit("triggerInputBlue", e);
},
handleFocus (e) {
this.$emit("triggerInputFocus", e);
},
handleChange (e) {
if (Number(e)) {
let val = parseInt(e);
this.$emit("triggerInputChange", val);
return;
}
this.$emit("triggerInputChange", e);
},
},
};
</script>
<style lang="scss" scoped></style>