Elementui 拿到Select Option 中的值和内容

本文介绍了在Vue.js中如何为el-select组件绑定change事件,通过方法classinfoChange获取选中项的id和name。通过v-model绑定form.cid,利用find方法筛选匹配的数据,从而更新form.classinfoName。示例代码详细展示了实现过程。

话不多说直接上代码

代码1

给需要拿到值的 select 下拉列表绑定一个@change事件,并指定一个方法

<el-form-item label="" prop="" >
<el-select clearable filterable v-model="form.cid" placeholder="请选择对应的班级名称" @change="classinfoChange($event)" >
<el-option v-for="c in classinfo" :key="c.id" :label="c.name" :value="c.id">
</el-option>
</el-select>
</el-form-item>

方法

代码2classinfoChange(val){
let obj = {};
obj = this.classinfo.find((item) => {
return item.id === val; //筛选出匹配数据,这里的value是你遍历数组每一项的value,如果没有对后台返回的数据做处理,一般为id
});
this.form.classinfoName = obj.name;
}

下拉框中的 id 和 name 都可以根据这个方法来获得,都是一样的
this.form.classinfoId = obj.id;

ElementUI中,select组件选中触发事件有多种实现方式。 一种方式是利用`change`事件,当select组件的选中发生改变时触发。在elementuiselect中,同一个选项连续点击时也能触发`change`事件,示例代码如下: ```vue <template> <div> <h4>临时文件</h4> <el-select class="selectStyle" :value="fields_id" placeholder="插入自定义字段" filterable blur> <el-option v-for="(item,value) in options" :key="value" :label="item.label" :value="item.label" @click.native="insertField(item.label)"> </el-option> </el-select> <div style="height:150px;"></div> <textarea :rows="8" :cols="110" placeholder="请输入内容" id="" v-model="saveData" ></textarea> </div> </template> <script> export default { data(){ return{ fields_id:'', saveData:'', options:[ {value:1,label:'mobile'}, {value:2,label:'name'}, {value:3,label:'nick'} ] } }, methods:{ insertField(label){ this.fields_id = label; if(this.saveData == ''){ this.saveData = '' } this.saveData += '${' + this.fields_id + '}' } } } </script> ``` 在上述代码里,当点击`el-option`时,调用`insertField`方法,该方法会更新`fields_id`的,并且对`saveData`进行处理,从而实现选中触发事件的效果[^2]。 另一种实现方式是结合`@click.native`点击事件`visible`事件。在select组件内包含`option`标签,给`option`绑定一个`@click.native`点击事件并传入`value`。在`@click.native`绑定的事件中,判断传入的`value`当前select中的选项是否一致,若一致则弹出`popover`弹框。同时,给select绑定一个`visible`事件,不管select选项弹框显示还是消失,都将`popover`隐藏,以此达到点击select选项才弹出`popover`弹框的效果[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦逝忘尘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值