如果您想要对树型表格中的 children 节点中的 input 进行 el-form 校验,可以采用以下方法:

  1. 在树型表格的 columns 中定义一个 scoped slot,用于渲染 children 节点的 input,并将其 v-model 绑定到相应的数据属性上。例如:
<el-table-column label='名称'>
  <template slot-scope='{ row }'>
    <div v-if='row.children'>
      <el-form-item v-for='(child, index) in row.children' :key='index' :prop=''children.' + index + '.name'' :rules='[{ required: true, message: '请输入名称', trigger: 'blur' }]'>
        <el-input v-model='child.name'></el-input>
      </el-form-item>
    </div>
    <div v-else>
      {{ row.name }}
    </div>
  </template>
</el-table-column>
  1. 在树型表格的 data 中定义一个 rules 对象,用于存放校验规则。例如:
data() {
  return {
    data: [
      {
        name: '父节点1',
        children: [
          { name: '子节点1' },
          { name: '子节点2' }
        ]
      },
      {
        name: '父节点2',
        children: [
          { name: '子节点3' },
          { name: '子节点4' }
        ]
      }
    ],
    rules: {
      children: [
        {
          type: 'array',
          required: true,
          message: '请至少输入一个子节点',
          trigger: 'blur'
        }
      ]
    }
  }
}
  1. 在 el-form 中使用该 rules 对象进行校验。例如:
<el-form :model='data' :rules='rules' ref='form'>
  <el-table :data='data' highlight-current-row>
    // 定义树型表格的 columns 和 scoped slot
  </el-table>
  <el-form-item>
    <el-button type='primary' @click='submitForm'>提交</el-button>
  </el-form-item>
</el-form>
  1. 在提交表单时,使用 this.$refs.form.validate 方法进行校验。例如:
methods: {
  submitForm() {
    this.$refs.form.validate(valid => {
      if (valid) {
        console.log('校验通过')
      } else {
        console.log('校验失败')
      }
    })
  }
}
Element UI 树型表格 children 中 input 校验方法

原文地址: https://www.cveoy.top/t/topic/oPbC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录