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)",
      });
    },
相关推荐
恋猫de小郭2 分钟前
注意,暂时不要升级 MacOS ,Flutter/RN 等构建 ipa 可能会因 「ITMS-90048」This bundle is invalid 被拒绝
android·前端·flutter
大莲芒4 小时前
react 15-16-17-18各版本的核心区别、底层原理及演进逻辑的深度解析--react17
前端·react.js·前端框架
木木黄木木6 小时前
html5炫酷3D文字效果项目开发实践
前端·3d·html5
Li_Ning216 小时前
【接口重复请求】axios通过AbortController解决页面切换过快,接口重复请求问题
前端
胡八一7 小时前
Window调试 ios 的 Safari 浏览器
前端·ios·safari
Dontla7 小时前
前端页面鼠标移动监控(鼠标运动、鼠标监控)鼠标节流处理、throttle、限制触发频率(setTimeout、clearInterval)
前端·javascript
再学一点就睡7 小时前
深拷贝与浅拷贝:代码世界里的永恒与瞬间
前端·javascript
CrimsonHu8 小时前
B站首页的 Banner 这么好看,我用原生 JS + 三大框架统统给你复刻一遍!
前端·javascript·css
Enti7c8 小时前
前端表单输入框验证
前端·javascript·jquery
拉不动的猪8 小时前
几种比较实用的指令举例
前端·javascript·面试