<el-input :ref="`inputRef${scope.$index}`" v-model="scope.row.grade"
@change="(val) => numberChange(val, scope.$index, 'grade', 1)"
type="text" :maxlength="6" size="mini" style="width: 90%" />
/**
* @description 针对 ElementTable 输入框校验数据填报是否符合预期
* @param val 当前input值
* @param index 表格的第几项
* @param key 表格对应的key值
* @param flag 其他特殊判断,比如是否支持负数
* @return
* */
numberChange(val, index, key, flag) {
if (flag > 0 && val.match(/^\d+(\.\d*){0,1}$/)) {
this.tableData[index][key] = val.toString().match(/^\d+(?:\.\d{0,2})?/)[0]
// eslint-disable-next-line
} else if (flag < 0 && val.match(/^(\-)?\d+(\.\d*){0,1}$/)) {
// eslint-disable-next-line
this.tableData[index][key] = val.toString().match(/^(\-)?\d+(?:\.\d{0,2})?/)[0]
} else {
this.tableData[index][key] = ''
}
},
网友评论