element-ui的el-select下拉框获取值

本文详细介绍了Element UI框架中选择器组件的使用方法,包括如何定义数据源、实现下拉选择功能以及如何通过监听事件获取用户选择的值。同时,展示了如何在Vue.js项目中集成Element UI,并提供了具体的代码示例。
    <el-form ref="form" :model="form" style="width:300px;margin:0 auto;">
      <el-form-item label="名字">
        <el-select @change="selectGet" v-model="form.region" placeholder="请选择名字">
          <el-option 
            v-for="item in selectList" 
            :key="item.id"
            :label="item.name"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
    </el-form>

data里面:

  data() {
    return {
      selectList:[
          {id:0,name:'张三'},
          {id:1,name:'里三'},
          {id:2,name:'李四'}
        ],
      form: {
        region: ""
      }
    };
  },
    selectGet(vId){
      let obj = {};
      obj = this.selectList.find((item)=>{//这里的selectList就是上面遍历的数据源
          return item.id === vId;//筛选出匹配数据
      });
      console.log(obj.name);//我这边的name就是对应label的
      console.log(obj.id);
    }

 

Element UI 的 `el-select` 下拉框可以自定义过滤选项,包括实现全选功能。要实现这个功能,你可以通过以下几个步骤操作: 1. **取组件实例**:首先,你需要在你的Vue组件中注册并初始化Element UI的`el-select`,然后在需要的地方取其实例。 ```javascript <template> <el-select v-model="selectedValue" @input="handleInput"> <!-- ... --> </el-select> </template> <script> export default { data() { return { selectedValue: '', options: [], // 你的选项数组 }; }, methods: { handleInput(value) { this.$refs.select.handleFilter(value); // select实例 } } }; </script> ``` 2. **监听输入事件**:在组件的方法里,响应用户输入时,使用`handleInput`函数,并通过`$refs.select`来调用下拉框的内置filter方法,传递用户输入作为筛选条件。 3. **实现全选功能**:如果你想提供全选/取消全选的功能,可以在数据或方法中添加一个布尔,比如`selectAll`,并在适当的时候设置所有选项为选中或取消选中。 ```javascript methods: { toggleAllSelection() { this.options.forEach(option => option.selected = this.selectAll); this.selectedValue = this.selectAll ? '' : this.options.find(option => option.text === '').value; } } ``` 4. **绑定自定义事件**:给每个选项添加一个点击事件,当选项被点击时检查是否全选状态,如果全选则清除选择,反之则选中该选项。 ```html <template> <el-option v-for="(option, index) in filteredOptions" :key="index" :label="option.label" :value="option.value" @click="toggleSingleSelection(option)" ></el-option> </template> ``` 5. **计算过滤后的选项**:在模板渲染之前,可以根据输入内容对options进行过滤,生成`filteredOptions`,例如使用`Array.prototype.filter()`。 ```javascript computed: { filteredOptions() { return this.options.filter(option => option.label.toLowerCase().includes(this.selectedValue.toLowerCase())); } }, ``` 现在,你已经有了自定义过滤和全选功能的`el-select`组件了。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值