element select 自定义option(可自定义选择,可自定义输入)

一、效果

请添加图片描述

二、所遇问题与思路解决

1、怎样让有些字段能点击,有些字段点击不收缩,并且能够自定义呢?

解决办法:把自定义字段disabled 设置为true ,使其点击不收缩;
自定义
2、点击选择框里面的选择框,不收缩外面的选择框?
解决办法:设置select 属性 popperAppendToBody 为false

3、样式问题,修改页面样式
4、重新赋值

三、主要代码

<div class="mr10" style="width: 150px">
        <el-select
          v-model="form.timeType"
          placeholder="请选择日期范围"
          ref="timeType"
          clearable
          popperClass="avue-input-tree-monitor time-type"
          :popperAppendToBody="false"
        >
          <el-option
            v-for="item in timeTypeList"
            :key="item.value"
            :label="item.label"
            :value="item.value"
            :disabled="item.disabled"
          >
            <span>{{ item.label }}</span>
            <div v-if="item.disabled" class="flex-space-around">
              <div style="width: 60px">
                <avue-select
                  :clearable="false"
                  v-model="customForm.timeFormat"
                  popperClass="avue-input-tree-monitor time-format"
                  @change="changeCustomType"
                  :dic="customTypeList"
                  :popperAppendToBody="false"
                ></avue-select>
              </div>
              <div style="width: 60px">
                <avue-select
                  :clearable="false"
                  v-model="customForm.timeLength"
                  popperClass="avue-input-tree-monitor time-length"
                  :dic="timeLengthList"
                  :popperAppendToBody="false"
                ></avue-select>
              </div>
              <div>
                <el-button type="plain" @click="sureCustom">确定 </el-button>
              </div>
            </div>
          </el-option>
        </el-select>
      </div>
 sureCustom() {
      this.form.timeType = "custom";
      let text =
        this.customForm.timeLength +
        (this.customForm.timeFormat == "day" ? "天" : "月");
      let timeType = this.$refs.timeType;
      timeType.visible = false;
      setTimeout(() => {
        timeType.selectedLabel = text;
      });
    },
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值