vue级联(el-cascader)方式作为表格查询条件( el-cascader报错 “TypeError: Cannot read properties of null (reading ‘le)

本文介绍了如何在Vue.js应用中将ElementUI的级联组件el-cascader作为表格查询条件,并着重解决了在使用过程中遇到的“TypeError: Cannot read properties of null (reading 'key')”错误。通过设置html结构,定义初始数据,监听tree数据并添加唯一标识符key,以及在DOM加载后执行相关方法,成功实现了功能并修复了错误。
摘要由CSDN通过智能技术生成

1、html结构:
 

<el-form-item label="项目:">
        <el-cascader
          ref="cascader"
          v-model="formData.value"
          :options="treeData"
          :key="cascaderIndex"
          :show-all-levels='false'
          :props="{
            checkStrictly: true,
            emitPath: false,
            value:'id',
            label:'label',
            children: 'children'
          }"
          @change="handleChange"
          clearable></el-cascader>
      </el-form-item>

2、data中定义所需初始值:
 

data() {
    return {
        formData: {
            name: '',//中文展示名称
            value: []//当前被选中的提交后台参数
        },
        cascaderI
el-form验证报错TypeError: Cannot read properties of undefined (reading 'validate')通常是由于在Vue2工程中使用ElementUI表单(Form)的表单校验时出现的错误。这个错误通常是由于在表单校验之前没有正确地引入ElementUI的校验器validator导致的。解决这个问题的方法是在Vue组件中正确引入validator并在表单校验之前初始化它。 以下是一个解决el-form验证报错TypeError: Cannot read properties of undefined (reading 'validate')的例子: ```javascript <template> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="用户名" prop="username"> <el-input v-model="form.username"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="form.password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('form')">提交</el-button> <el-button @click="resetForm('form')">重置</el-button> </el-form-item> </el-form> </template> <script> import { Validator } from 'element-ui' export default { data() { return { form: { username: '', password: '' }, rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } ], password: [ { required: true, message: '请输入密码', trigger: 'blur' } ] } } }, methods: { submitForm(formName) { this.$refs[formName].validate(valid => { if (valid) { alert('验证通过') } else { alert('验证失败') return false } }) }, resetForm(formName) { this.$refs[formName].resetFields() } }, mounted() { Validator.installDateTimeValidators(moment) } } </script> ``` 在这个例子中,我们首先从ElementUI中引入了Validator,然后在Vue组件的mounted钩子函数中初始化了Validator。这样就可以在表单校验之前正确地使用Validator了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值