<el-input
v-model="group.score"
placeholder="文本框"
style="width: 150px; margin-right: 10px"
@input="checkInput(group,index)"
></el-input>
checkInput(group, index) {
// 移除非数字、小数点和多余的小数点
group.score = group.score.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.');
// 最多保留两位小数
let decimalIndex = group.score.indexOf('.');
if (decimalIndex !== -1) {
group.score = group.score.substring(0, decimalIndex + 3);
}
// 移除以0开头的多余数字
group.score = group.score.replace(/^0+(\d+)/, '$1');
// 最大值限制为1
let floatValue = parseFloat(group.score);
if (isNaN(floatValue)) {
// 如果转换后不是数字,则将其设置为空字符串
group.score = '';
} else if (floatValue > 1) {
group.score = '1';
} else if (floatValue === 1 && group.score.indexOf('.') !== -1) {
// 如果输入值已经是1且含有小数点,则移除小数点
group.score = '1';
}
// 强制更新视图
this.$forceUpdate();
},