ant design vue 选择下拉框 联动

前言:

考核周期:当考核类型选择的是平时考核的时候,可选第一季度/第二季度/第三季度/第四季度,当考核类型是年度考核的时候,考核周期默认显示为全年不可修改

效果图:


html

              <a-form-item v-bind="formItemLayout" label="考核类型">
                <a-select
                  placeholder="请选择"
                  v-decorator="['type', {
                    rules:[{required:true,message:'请选择'}]
                  }]"
                  style="width: 180px"
                  :options="options.assessType"
                  @change="handleProvinceChange"
                >
                </a-select>
              </a-form-item>
              <a-form-item v-bind="formItemLayout" label="考核周期">
                <a-select
                  style="width: 180px"
                  placeholder="请选择"
                  v-decorator="['period', {
                    rules:[{required:true,message:'请选择'}]
                  }]"
                  v-if="this.varKey == 20"
                  :disabled="true"
                  name="this.thirdCity.name"
                >
                  <a-select-option v-for="city in thirdCities" :key="city.id">
                    {{ city.name }}
                  </a-select-option>
                </a-select>
                <a-select
                  style="width: 180px"
                  placeholder="请选择"
                  v-decorator="['period', {
                    rules:[{required:true,message:'请选择'}]
                  }]"
                  v-else
                >
                  <a-select-option v-for="city in cities" :key="city.id">
                    {{ city.name }}
                  </a-select-option>
                </a-select>
              </a-form-item>

js

  const provinceData = [10, 20]
  const cityData = {
    10: [{id:10,name:'第一季度'},{id:20,name:'第二季度'},{id:30,name:'第三季度'},{id:40,name:'第四季度'}],
    20: [{id:50,name:'全年'}],
  }
data(){
    return{
        varKey:0,
        provinceData,
        cityData,
        cities: cityData[provinceData[0]],
        thirdCities: cityData[provinceData[1]],
        thirdCity: cityData[provinceData[1]][0],
    }
},
methods: {
      handleProvinceChange(value) {
        this.cities = cityData[value]
        this.varKey = value
        if(value == 20){
          this.$nextTick(() => {
            this.form.setFieldsValue({period: this.thirdCity.id})
          })
        }
      }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值