开始本来想着当个cv工程师找了一下还想没有符合需求的,就自己写了个,感觉体验还行
<uni-easyinput v-if="t.type === 'input' || t.type === 'textarea' || t.type === 'number'" v-model="formData[t.key]" :type="t.type" @input="e => inputChange(e,t.key)" :style="{height: t.type === 'textarea' && '80rpx'}" :placeholder="t.type === 'input' && `请填写${t.title}`" :disabled="t.key === 'tjwkKmStr3'">
<template #right>
<view>{{ t.unit }}</view>
</template>
</uni-easyinput>
const inputChange = (value, key) => {
if (value && (key === 'tjwkKmStr' || key === 'tjwkKmStr2')) {
let val = +value
if (val.toString() === 'NaN') {
nextTick(() => {
formData.value[key] = ''
})
}
if (value.split('.')[1].length > 2) {
let price = parseFloat(value).toFixed(2)
nextTick(() => {
formData.value[key] = price
})
}
}
}