vue下拉框二级联动效果

该文章展示了一个Vue.js组件中两个select选择框如何通过v-model和change事件进行关联,当选择其中一个select时,会根据选择的内容动态更新另一个select的选项。getRole方法用于根据value1的值过滤出select2的选项,而getList方法则在select2的选择中触发。
摘要由CSDN通过智能技术生成

在使用select 选择框时,2个select 怎么关联在一起

<template>
  <div>
    <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>
  </div>
</template>
 
<script>
 
  export default {
    name: 'home',
      data () {
          return {
              select1: [
                  {value: 'role', label: '角色'},
                  { value: 'version', label: '角色版本号'},
                  {value: 'env', label: '环境'}
              ],
              loading: false,
              filters: {
                  value1: '',
                  value2: ''
              },
              select2:[],
              options1:''
          }
      },
      methods: {
          getRole (prov) {
              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'}
              ]
              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.select2 = roles
              }
          },
          getList (opt) { 
              console.log(opt)
          }
      }
  }
</script>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值