ElementUI中el-select下拉框选择不同的项控制其他控件(单选控件)的显示和隐藏

场景

在el-select的下拉框中,下拉选择指定的下拉项时才会显示后面的单选框,否则不显示。

效果如下

 

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

首先在页面中添加这两个控件

        <el-row>
          <el-col span="10">
            <el-form-item label="班次类型:" prop="bclx">
              <el-select v-model="form.bclx" placeholder="请选择班次类型" clearable @change="bclxChange">
                <el-option
                  v-for="dict in bclxOptions"
                  :key="dict.dictValue"
                  :label="dict.dictLabel"
                  :value="dict.dictValue"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col span="10" v-if="isJxBc">
            <el-form-item label="井下班次类型:" prop="jxbclx" label-width="120px">
              <el-radio-group v-model="form.jxbclx" @change="$forceUpdate()" size="medium">
                <el-radio :label='"1"'>井下大班</el-radio>
                <el-radio :label='"2"'>井下小班</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>

然后设置 要动态显示的单选框控件的v-if="isJxBc"来控制其显示和隐藏,其中isJxBc是一个布尔变量。

需要提前声明

  isJxBc: false,

然后在前面下拉框中设置change事件@change="bclxChange"

在change事件中

    bclxChange(selectValue) {
      if (selectValue == 1) {
        this.isJxBc = true;
      } else {
        this.isJxBc = false;
      }
    },

判断选中项的值是否为1,1就代表选中的是井下班制即要显示后面的单选框的下拉选项。

数据来源是bclxOptions构建的对象数组

 

下拉框的值选的是dictValue,下拉框显示的内容是dictLabel。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: elementuiel-select下拉框组件是一个选择器,它可以用来单选或者多选。当我们给el-select组件绑定multiple属性时,它就可以实现多选功能。但是这样绑定multiple属性后,下拉框将不能进行编辑和删除。 实际上,多选的下拉框不提供编辑和删除功能是因为这样的设计逻辑。多选下拉框最多允许用户选择多个选,而不支持编辑和删除已选的选。通过点击下拉框展开选,用户可以选择自己所需的多个选,但是不能对已选的选进行直接编辑或删除。 如果我们需要对已选的选进行修改或删除,可以通过其他方式来实现。比如,可以在多选下拉框的旁边添加一个"编辑"或"删除"的按钮,当用户点击这个按钮时,弹出一个对话框或者列表,用户可以在其编辑或删除已选的选。 总结来说,elementuiel-select下拉框组件绑定multiple多选后无法直接编辑和删除已选的选,但是我们可以通过增加其他操作,比如添加按钮和弹出对话框等,来实现对已选的编辑和删除操作。 ### 回答2: 在Element UIel-select下拉框绑定了multiple多选后,无法直接编辑删除选。这是因为多选的特性要求用户通过勾选或取消勾选选来进行选择和取消选择,而不是直接编辑删除选。 如果你想删除已选择的选,可以通过以下方法实现: 1. 通过v-model指令将已选择的选绑定到一个数据属性。例如,将已选择的选绑定到一个名为selectedOptions的数组属性。 2. 在页面上,以列表或其他形式展示已选择的选,并为每个选提供删除按钮。 3. 当用户点击删除按钮时,触发对应的方法。在方法,我们可以通过数组的splice方法,根据选的索引从selectedOptions数组删除对应的选。 下面是一个简单的示例: ```vue <template> <div> <el-select v-model="selectedOptions" multiple> <el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value"></el-option> </el-select> <ul> <li v-for="(option, index) in selectedOptions" :key="option"> {{ option.label }} <button @click="removeOption(index)">删除</button> </li> </ul> </div> </template> <script> export default { data() { return { options: [ { label: "选1", value: "option1" }, { label: "选2", value: "option2" }, { label: "选3", value: "option3" } ], selectedOptions: [] }; }, methods: { removeOption(index) { this.selectedOptions.splice(index, 1); } } }; </script> ``` 通过以上方法,我们可以实现在el-select的多选模式下删除已选择的选

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

霸道流氓气质

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

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

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

打赏作者

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

抵扣说明:

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

余额充值