【el-form+vue-treeselect】vue表单验证树形结构+填写时返回unknown

使用vue-treeselect


1、安装依赖

npm install --save @riophae/vue-treeselect

2、页面使用

<template>
  <div>
    <treeselect v-model="value" :options="options" placeholder="请选择"/>
  </div>
</template>


import TreeselectView from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
  components: { Treeselect },
}

实际运用套入表单后:
在这里插入图片描述
但是普通表单验证的写法对于vue-treeselect不起作用:
在这里插入图片描述

验证写法


1、目前表单长这样:

 <el-form ref="form" :model="form" :rules="rules" label-width="140px">
    <el-form-item label="风险分区名称" prop="areaId">
      <el-select v-model="form.areaId" placeholder="请选择风险分区" clearable>
        <el-option v-for="dict in riskPartitionNameOptions"
          :key="dict.id"
          :label="dict.label"
          :value="dict.id"
        />
      </el-select>
    </el-form-item>
    //要想让vue-treeselect也带验证 先同上一样在prop写好名字
    //再加上@input(后面解释
    <el-form-item label="负责人部门" prop="riskPersonDept">
      <TreeselectView
        v-model="form.riskPersonDept"
        :options="deptOptions"
        :show-count="true"
        placeholder="请选择归属部门"
        @input="riskPersonDeptChangeValue"
      />
    </el-form-item>
</el-form>

2、在rules里的验证
注意用 trigger: "input"
不用@input@close 这样写没有用~~

 rules: {
        areaId: [
          { required: true, message: "请选择分区名称", trigger: "change"},
        ],
        riskPersonDept: [
          { required: true, message: "请选择负责人部门", trigger: "input"},
      },

3、methods加上自定义的@input中的函数
表单中的:@input="riskPersonDeptChangeValue"

methods: {
    riskPersonDeptChangeValue() {
    //form是表单名 riskPersonDept是prop名
      this.$refs["form"].validateField("riskPersonDept");
    }
}

在这里插入图片描述
组件自带是@select
不行的同志们44把@input替换成@select

出现unknown

另外重新打开表单时选择区是unknown
在这里插入图片描述
解决:
1、默认是null
2、v-model 改写成 :model

在这里插入图片描述

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值