zoukankan      html  css  js  c++  java
  • element-ui select 二级联动

    在使用select 选择框时,2个select 怎么关联在一起(第一个值发生变化,第二个select值随第一个变化而不同)

     两个输入框代码

    <el-form :inline="true" :model="filters">
              <el-form-item>
                 <el-select v-model="filters.value1" clearable placeholder="请选择" @change="getRole($event)">
                    <el-option
                    v-for="item in select1"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                    </el-option>
                </el-select>
                <el-select v-model="filters.value2" filterable
                placeholder="请输入查询内容" :loading="loading" @change="getList($event)">
                    <el-option
                      v-for="item in select2"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"></el-option>
                </el-select>
              </el-form-item>
              <el-form-item>
                <el-button type="primary" size="medium" @click="fetchData('filters')"  icon="el-icon-search">查询</el-button>
              </el-form-item>
            </el-form>
    

      

    首先第一个select要和第二个select 的值关联在一起

    let select1= [
    {value: 'role', label: '角色'},
     { value: 'version', label: '角色版本号'},
     {value: 'env', label: '环境'}
    ]
    let allrole= [
      {pro:'role',label: 'pub'},{pro: 'role',label: 'core'},
      {pro:'env',label: 'test'},{pro: 'pro',label: 'pro'},
      {pro:'version',label: '1.1.2'},{pro: 'version',label: '1.1.1'}
    ]

    显示操作代码块

    export default {
      data () {
        return {
          select1: select1,
          loading: false,
          filters: {
            value1: '',
            value2: ''
          },
          select2:[]
        }
      },
      methods: {
        getRole (prov) {
          let roles = []
          this.select2= []
          for (var val of allrole) {
            if (prov===val.pro) {
              console.log(val)
              roles.push({label: val.label,value: val.label})
            }
            this.options1 = roles
          }
        },
        getList (opt) {
          console.log(opt)
        }
      }
    }

    这样就实现了select的二级联动

  • 相关阅读:
    eureka注册中心搭建
    MySQL基本查询语句
    通过IP地址和子网掩码与运算计算相关地址
    Linux bash 快捷键列表【转】
    Linux 系统简介【转】
    Linux Vim -d 比较两个文件
    无连接和面向连接协议的区别【转】
    ARP报文详解
    Linux 指定网卡 ping
    Linux Windows Java 快速生成指定大小的空文件
  • 原文地址:https://www.cnblogs.com/mandywang/p/10456240.html
Copyright © 2011-2022 走看看