在现代前端开发中,下拉框(下拉选择框)是用户界面中一种常见的交互元素。它允许用户从一组预定义选项中选择一个值。虽然HTML原生的<select>
标签能够实现这个功能,但如果我们想要一个更美观、更加灵活的下拉框,创建一个自定义组件是一个更好的选择。本文将通过使用Vue 3的setup
语法糖来实现这一目标。
1. 创建基础结构
首先,我们需要一个Vue 3项目。如果还没有,可以使用Vue CLI创建一个新的项目:
vue create my-project
cd my-project
然后,我们可以在src/components
目录下创建自定义下拉框组件,如CustomSelect.vue
。
2. 组件结构
在这个组件中,我们将使用ref
和computed
来处理状态和计算属性,让我们的下拉框更加灵活。代码如下:
<template>
<div class="custom-select">
<div class="selected-option" @click="toggleDropdown">{
{ selectedOption }}</div>
<ul v-if="isDropdownOpen" class="options-list">
<li
v-for="(option, index) in options"
:key="index"
class="option-item"
@click="selectOption(option)">
{
{ option }}
</li>
</ul>
</div>
<