我只写一个主天线的示例,经过验证可以,你就续写下去就可以:
const RtkForm = reactive({
mainTx: "",
x: "",
y: "",
z: "",
//...
})
function isIntegerOrDecimal(str) {
let num = parseFloat(str);
return Number.isInteger(num) || Number.isFinite(num);
}
const checkNumber = (rule, value, callback) => {
if (!RtkForm.x || !isIntegerOrDecimal(RtkForm.x)) {
callback(new Error('第一个框请输入整数或小数'));
} else if (!RtkForm.y || !isIntegerOrDecimal(RtkForm.x)) {
callback(new Error('第二个框请输入整数或小数'));
} else if (!RtkForm.z || !isIntegerOrDecimal(RtkForm.z)) {
callback(new Error('第三个框请输入整数或小数'));
} else {
callback();
}
}
更新:
我发现这样写更简单粗暴,只不过没提示了
(RtkForm.x = v.replace(/[^\d.]/g, ''))" v-model="RtkForm.x" />
(RtkForm.y = v.replace(/[^\d.]/g, ''))" v-model="RtkForm.y" />
(RtkForm.z = v.replace(/[^\d.]/g, ''))" v-model="RtkForm.z" />