vue、elementui控制前一级选择后,后一级才会有数据

javascript 复制代码
<el-form-item label="废物类型:">
    <el-select clearable v-model="queryForm.hswCateType" placeholder="请选择" @change="industryCategoryChange" @focus="industryCategoryFocus">
    <el-option v-for="item in wasteTypeOptions" :key="item.hswCate" :label="item.hswCateName" :value="item.hswCate">
	</el-option>
    </el-select>
</el-form-item>
<el-form-item label="废物代码:">
    <el-select clearable v-model="queryForm.hswCateCode" placeholder="请选择" popper-class="isIndustryBigCategory" class="industryBigCategoryClass" @change="industryBigCategoryChange" @focus="industryBigCategoryFocus">
       <el-option v-for="item in wasteCodeOptions" :key="item.hswCode" :label="item.hswCode" :value="item.hswCode">
       </el-option>
    </el-select>
<div v-if="ifIndustryBigCategory" style="height: 0;margin-top: -8px;color: #f56c6c;">请选择废物类型</div>
</el-form-item>
javascript 复制代码
queryForm:{},
ifIndustryBigCategory: false, //废物代码下方红字是否显示
// 废物类型
 wasteTypeOptions: [
        {
          hswCateName: "选项1",
          hswCate: "1",
        },
        {
          hswCateName: "选项2",
          hswCate: "2",
        },
],
// 废物代码
wasteCodeOptions: [],
javascript 复制代码
  created() {
    // 点击页面的任何一个地方,都隐藏提示
    document.addEventListener("click", this.hiddenStyle);
  },
  beforeDestroy: function () {
    document.removeEventListener("click", this.hiddenStyle);
  },
javascript 复制代码
    // 隐藏废物代码的焦点样式
    hiddenStyle() {
      this.ifIndustryBigCategory = false;
      $(".industryBigCategoryClass input").css({ "border-color": "" });
    },
    // 废物类别 - 值改变时
    industryCategoryChange(val) {
      if (this.queryForm.hswCateType) {
        // 选择了废物类别以后,请求接口出现废物代码的下拉数据
        // 给废物代码请求数据并赋值
        this.wasteCodeOptions = [{
          hswCode:'1',
        }];
      } else {
        this.queryForm.hswCateCode = "";
      }
    },
    // 废物类别 - input获得焦点时
    industryCategoryFocus() {
      this.hiddenStyle();
    },
    // 废物代码 - 值改变时
    industryBigCategoryChange(val) {},
    // 废物代码 - input获得焦点时
    industryBigCategoryFocus() {
      // 判断是否选择了废物类别,如果没有选择,则给出提示,并把选择框的颜色改变
      if (this.queryForm.hswCateType) {
        this.ifIndustryBigCategory = false;
        this.commonStyleReveal(
          ".isIndustryBigCategory",
          ".industryBigCategoryClass"
        );
      } else {
        this.ifIndustryBigCategory = true;
        this.commonStyleHidden(
          ".isIndustryBigCategory",
          ".industryBigCategoryClass"
        );
      }
    },
    // 公共的控制样式的函数 - 上一个级联的选择了以后,下一个下拉显示的控制
    commonStyleReveal(argument1, argument2) {
      // 显示下拉
      $(argument1).css({ opacity: 1 });
      $(argument1 + " .el-scrollbar").css({ display: "block" });
      $(argument1 + " .el-select-dropdown__empty").css({ display: "block" });
      // input框的颜色以及隐藏下方的文字
      $(argument2 + " input").css({ "border-color": "" });
      // 恢复右侧箭头的方向
      $(argument2 + " .el-select__caret.el-select__caret").css({
        transform: "",
      });
    },
    // 公共的控制样式的函数 - 上一个级联的未选择,下一个下拉隐藏的控制
    commonStyleHidden(argument1, argument2) {
      // 隐藏下拉
      $(argument1).css({ opacity: 0 });
      $(argument1 + " .el-scrollbar").css({ display: "none" });
      $(argument1 + " .el-select-dropdown__empty").css({ display: "none" });
      // input框的颜色
      $(argument2 + " input").css({ "border-color": "#f56c6c" });
      // 右侧箭头不改变方向
      $(argument2 + " .el-select__caret.el-select__caret").css({
        transform: "rotateZ(180deg)",
      });
    },
相关推荐
CodeSheep几秒前
宇树科技的最新工资和招人标准
前端·后端·程序员
奔跑的卡卡5 分钟前
Web开发与AI融合-第二篇:TensorFlow.js实战:在浏览器中运行AI模型
前端·人工智能·tensorflow
IT_陈寒7 分钟前
Vue的响应式居然在这里埋坑,差点加班到天亮
前端·人工智能·后端
We་ct9 分钟前
LeetCode 149. 直线上最多的点数:题解深度剖析
前端·javascript·算法·leetcode·typescript
jarvisuni19 分钟前
JCode添加批量测试,一键同步运行6个Claude Code!
java·服务器·前端
小李子呢021125 分钟前
前端八股CSS(3)---水平垂直居中的实现方法
前端·css·css3
M ? A28 分钟前
Vue3 转 React:组件透传 Attributes 与 useAttrs 使用详解|VuReact 实战
前端·javascript·vue.js·经验分享·react.js·开源·vureact
火山引擎开发者社区28 分钟前
方舟 Coding Plan 支持 Embedding 模型,让 AI Agent “找得更准、记得更久”
前端·javascript·人工智能
whuhewei34 分钟前
微前端之模块联邦
前端·架构
We་ct34 分钟前
JS手撕:手写Koa中间件与Promise核心特性
开发语言·前端·javascript·中间件·node.js·koa·co