Vue下拉列表el-select二级联动效果

最近公司有一个C#的项目需要来完成,前端用了Vue.js。首次使用Vue.js还是有点不适应的。

功能介绍:要实现第一级下拉列表数据改变时,二级下拉列表的值随着改变。

<el-form-item prop="p_Roleprop" label="角色权限:">
        <div>
          <el-select v-model="p_Role.value" style="width:230px" @change="Rolechanges()" placeholder="请选择">
            <el-option v-for="item in EUserP_Role" :key="item.value" :label="item.key" :value="item.value"> </el-option>
          </el-select>
          <span style="color:#606266;">表名</span>
          <el-select v-model="p_table.value" style="width:230px" @change="Tablechanges()" placeholder="请选择">
            <el-option v-for="item in EUserP_Table" :key="item.value" :label="item.key" :value="item.value"> </el-option>
          </el-select>
        </div>
      </el-form-item>

JS代码:

getRole() {
      this.EUserP_Role = [];
      this.$API.Permission.Get_Role().then(res => {
        res.forEach((o, index) => {
          this.EUserP_Role.push({ key: o.Name, value: o.ID });       
        });
      });
    },
    Rolechanges() {
      this.EUserP_Table = [];
      this.$API.Permission.Get_Table({ prid: this.p_Role.value }).then(res => {
        res.forEach((o, index) => {
          this.EUserP_Table.push({ key: o.TableName, value: o.ID });
        });
      });
      this.isAble = false;
      this.p_table.value = "";
    },
    Tablechanges() {
      this.EUserP_Field = [];
      this.$API.Permission.Get_Field({ ptid: this.p_table.value }).then(res => {
        res.forEach((o, index) => {
          this.EUserP_Field.push({ key: o.FieldName, value: o.ID });  
        });
      });
      if (this.EUserP_Table.findByID(this.p_table.value, "value").key == "Product Group" || this.EUserP_Table.findByID(this.p_table.value, "value").key == "Product RRP"){
            this.isAble=true;
        }else{
          this.isAble=false;
        }

    },
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Silence-wen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值