el-select二級聯動

<template>
  <div class="home">
    <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>
  import '../assets/css/index.less'

  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>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章