表格input 加校验
<template>
<el-row >
<el-button type="primary" @click="updateawData">保存</el-button>
<el-form :model="tableData" ref="tableData">
<el-table :data="tableData">
<el-table-column show-overflow-tooltip type="selection" width="40" />
<el-table-column show-overflow-tooltip prop="wireLossRate" label="线(%)" width="120">
<template slot-scope="scope">
<el-form-item prop="wireLossRate" :prop="scope.$index + '.ireLossRat'" :rules='rules.wireLossRate'>
<el-input v-if="seen" v-model="scope.row.wireLossRate" @blur="loseFocus(scope.row,scope.column)" />
<span v-else>{{ scope.row.wireLossRate }}</span>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
</el-row>
</template>
<script>
export default {
data() {
//
const validateNameInput = (rule, value, callback) => {
const reg = /^([0](\.\d{1,4})?|1(\.[0]{1,4})?)$/
if (!value) {
this.$vMessage({
message: '请输入要修改的值',
type: 'warning'
})
} else if (reg.test(value)) {
callback()
} else {
this.$vMessage({
message: '请填写0-1,小数点保留后4位的数字',
type: 'warning'
})
}}
return {
// input验证
rules: {
wireLossRate: [{ validator: validateNameInput, trigger: 'blur' }]
},
}
},
methods: {
// 保存修改数据
async updateDrawData() {
const valid = await this.$refs['tableData'].validate()
if(valid){
// 校验通过
}else{
this.$vMessage({
type: 'info',
message: '校验不通过'
})
}
},
}
}
</script>
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步