el-select
展示选项,选项不多的情况下,我们可以进行手动下拉选择。<template>
<el-select v-model="value" filterable placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: ''
}
}
}
</script>
filter-method
来实现。filter-method
为一个Function
,它会在输入值发生变化时调用,参数为当前输入值。比如我们想用value来作为关键词搜索<template>
<el-select v-model="value" filterable placeholder="请选择" :filter-method="filterValue">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
list: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: '',
options: [] // 筛选出来的选项
}
},
mounted() {
this.option = this.list;
},
methods: {
filterValue(query) {
if (query !== "") {
this.options = this.list.filter((item) => {
// 这里是用的value选项筛选,默认是label
return item.value.toLowerCase().indexOf(query.toLowerCase()) > -1;
});
} else {
this.options = [];
}
}
}
}
</script>
filterable
和remote
设置为true
,同时传入一个remote-method
。remote-method
为一个Function
,它会在输入值发生变化时调用,参数为当前输入值。el-option
是通过v-for指令渲染出来的,此时需要为el-option
添加key
属性,且其值需具有唯一性,比如此例中的item.value
。<template>
<el-select v-model="value" clearable
filterable
remote
:remote-method="getDatas"
:loading="loading" placeholder="请选择" >
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
value: '',
options: [], // 选项,从后端传递过来
loading:false
}
},
/* 获取选项列表 */
getDatas(key) {
this.loading = true;
datasGetByKeywords({ // 封装好的后端接口
keywords: key || "", // 关键字参数
}).then((res) => {
this.loading = false;
this.options = res.data;
});
},
}
</script>
这样我们的选项就是从后端服务器上获取的了,如何搜索就按后端接口规定的参数来
原文地址:https://blog.csdn.net/qq_23073811/article/details/129463093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_46646.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!