Vue使用el-select下拉框实现可输入可选择,失去焦点时不清空绑定参数
Posted 龖龖龖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue使用el-select下拉框实现可输入可选择,失去焦点时不清空绑定参数相关的知识,希望对你有一定的参考价值。
<template>
<div>
<!-- 例子1、嵌套循环的方式 -->
<div v-for="item in list" :key="item.id">
<el-select
clearable
filterable
allow-create
v-model="name"
@input="Update"
default-first-option
@blur.capture.native="Nameblur(item.id, $event)"
>
<el-option
:value="item.id"
:label="item.label"
v-for="item in options"
:key="item.id"
>
</el-option>
</el-select>
</div>
<!-- 例子2、也可单独设置filterable属性必须加 -->
<el-select
filterable
allow-create
ref="nameSel"
v-model="name"
value-key="name"
@blur="nameBlur"
default-first-option
>
<el-option
v-for="item in list"
:key="item"
:label="item"
:value="item"
/>
</el-select>
</div>
</template>
<script>
export default
data()
return
name: "",
list: [
id: 0,
title: "张三",
name: "",
,
id: 1,
title: "李四",
name: "",
,
id: 2,
title: "老六",
name: "",
,
],
;
,
methods:
Nameblur(id, e)
this.list.forEach((item, index) =>
// 不加这句 e.target.value 判断还会多输出一次空白的
if (id == index && e.target.value)
console.log(item, "__________", e.target.value);
item.name = e.target.value;//此处赋值不强制更新参数有可能无法显示
this.$forceUpdate();//强制更新
);
,
//可通过ref属性获取当前select选择器中的输入内容
nameBlur()
this.name = this.$refs.nameSel.selectedLabel
,
Update()
this.$forceUpdate();
,
,
;
</script>
<style scoped></style>
以上是关于Vue使用el-select下拉框实现可输入可选择,失去焦点时不清空绑定参数的主要内容,如果未能解决你的问题,请参考以下文章
Vue踩坑之 el-select下拉框多选,选择后赋值成功,输入框不显示选中的值
Vue踩坑之 el-select下拉框多选,选择后赋值成功,输入框不显示选中的值
vue el-select下拉框,选择后赋值成功,但是框上不显示选中的值的解决办法