- 安装element-plus
npm install element-plus --save
- 在main.js文件中引入element-plus
import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
- 在需要使用下拉搜索框的组件中使用el-select和el-option
<template>
<el-select v-model="selected" filterable remote default-first-option @remote-method="search" clearable>
<el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"></el-option>
</el-select>
</template>
<script>
export default {
data () {
return {
options: [],
selected: ''
}
},
methods: {
search (query) {
// 请求后台数据
this.options = ['option1', 'option2', 'option3']
}
}
}
</script>
<style>
/* 修改下拉框的边框和宽度 */
.el-select {
width: 200px !important;
border: 1px solid #ccc !important;
}
/* 去除下拉框的阴影效果 */
.el-select-dropdown {
box-shadow: none !important;
}
/* 修改下拉框选中项的背景色 */
.el-select-dropdown .el-select-dropdown__item.selected {
background-color: #e8f6fe !important;
}
</style>
说明:
- filterable:开启搜索功能
- remote:使用远程搜索功能
- default-first-option:默认显示第一个选项
- @remote-method:远程搜索方法,该方法会在输入框输入值时触发
- clearable:开启清空选项功能
- v-model:绑定选中的值
- 修改样式
针对上述代码,下拉框的样式可以在组件的style标签内添加相应的样式进行修改,如上面的示例所示。也可以在全局的样式文件中进行修改。