通过一个按钮开控制el-select选择器的下拉框状态

<template>  
  <div>  
    <el-button @click="toggleDropdown">Toggle Dropdown</el-button>  
    <el-select  
      v-model="value"  
      placeholder="请选择"  
      ref="mySelect"  
      @visible-change="handleVisibleChange"
    >  
      <el-option  
        v-for="item in options"  
        :key="item.value"  
        :label="item.label"  
        :value="item.value">  
      </el-option>  
    </el-select>  
    
  </div>  
</template>  

<script>  
export default {  
  data() {  
    return {  
      value: '',  
      options: [  
        { value: 'Option1', label: 'Option 1' },  
        { value: 'Option2', label: 'Option 2' },  
        //...其他选项  
      ],
      isDropdownOpen: false  // 新增一个变量来跟踪下拉框状态
    };  
  },  
  methods: {  
    toggleDropdown() {  
      this.isDropdownOpen = !this.isDropdownOpen;  // 切换状态
      if (this.$refs.mySelect) {
        if (this.isDropdownOpen) {
          this.$refs.mySelect.toggleMenu();  // 打开下拉框
          console.log("打开下拉框")
        } else {
          this.$refs.mySelect.close();  // 关闭下拉框
          console.log("关闭下拉框")
        }
      }
    },  
    handleVisibleChange(isVisible) {  
      this.isDropdownOpen = !isVisible;  
      console.log(isVisible);
    },
  },  
};  
</script>  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值