前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >两个Select选择器实现联动(vue+element)

两个Select选择器实现联动(vue+element)

作者头像
用户6493868
发布2022-03-08 23:36:31
6.2K0
发布2022-03-08 23:36:31
举报
文章被收录于专栏:vue封装H5

1.需求:点击某个设备组获取该设备组的所有的商品。

2.效果图

3.实现:

(1)前端

代码语言:javascript
复制
<el-select v-model="listQuery.groupId" @change="selectGoodsByGroupId($event)" clearable placeholder="请选择设备组" filterable>
      <el-option v-for="item in deviceGroups" :label="item.groupName" :key="item.id" :value="item.id"></el-option>
    </el-select>
    <el-select v-model="listQuery.goodsId" clearable placeholder="请选择商品" filterable>
      <el-option v-for="item in goods" :label="item.goodsName" :key="item.id" :value="item.id"></el-option>
    </el-select>
代码语言:javascript
复制
//进入列表时先获取所有的设备组   
getAllDevice(){//获取所有的设备组
      getAllDevice()
        .then(response =>{
          this.deviceGroups = response;
        })
    },   

selectGoodsByGroupId(val){//根据设备组id获取相应的商品
      //console.log(val);
      if(val != null && val != '' && val != undefined){
        selectGoodsByGroupId(val)
          .then(response => {
            //给goods数组赋值
            this.goods = response;
          })
      }
    },

(2)后端

1.controller层

代码语言:javascript
复制
/**
     * 根据设备组Id进行获取商品Id进而查询对应的商品信息
     * @param groupId
     * @return
     */
    @RequestMapping(value = "/selectGoodsByGroupId/{groupId}",method = RequestMethod.GET)
    @ResponseBody
    public List<GoodsVo> selectGoodsByGroupId(@PathVariable("groupId") int groupId){
        return baseBiz.selectGoodsByGroupId(groupId);
    }

2.biz层

代码语言:javascript
复制
/**
     * 根据设备组Id进行获取商品Id进而查询对应的商品信息
     * @param groupId
     * @return
     */
    public List<GoodsVo> selectGoodsByGroupId(int groupId){
        return mapper.selectGoodsByGroupId(groupId);
    }

3.mapper层

代码语言:javascript
复制
/**
     * 根据设备组Id进行获取商品Id进而查询对应的商品信息
     * @param groupId
     * @return
     */
    List<GoodsVo> selectGoodsByGroupId(@Param("groupId") int groupId);

4.mybatis.xml

代码语言:javascript
复制
<!-- 根据设备组Id进行获取商品Id进而查询对应的商品信息 -->
    <select id="selectGoodsByGroupId" resultMap="BaseResultMap">
        select id,goods_name from ue_tb_goods where id in (select goods_id from ue_tb_rs_dg_goods where group_id = #{groupId})
    </select>

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档