Vue input下拉框組件是一種常用的前端交互方式,可以在用戶輸入的同時(shí)提供關(guān)聯(lián)的可選項(xiàng),方便用戶快速選擇。在Vue項(xiàng)目中,可以使用第三方組件庫(kù)如element-ui、vant等,也可以自行開(kāi)發(fā)組件。
下面是一個(gè)簡(jiǎn)單的Vue input下拉框組件示例:
<template> <div class="select"> <input v-model="selected" @focus="openDropdown"> <ul v-show="dropdownOpen"> <li v-for="(item, index) in items" :key="index" @click="select(item)">{{ item.value }}</li> </ul> </div> </template> <script> export default { data() { return { selected: '', dropdownOpen: false, items: [ { value: '選項(xiàng)1' }, { value: '選項(xiàng)2' }, { value: '選項(xiàng)3' }, { value: '選項(xiàng)4' } ] } }, methods: { openDropdown() { this.dropdownOpen = true }, select(item) { this.selected = item.value this.dropdownOpen = false } } } </script> <style> .select { position: relative; display: inline-block; } ul { position: absolute; top: 100%; left: 0; z-index: 999; padding: 0; margin: 0; background-color: #fff; border: 1px solid #ccc; box-shadow: 0 2px 12px rgba(0,0,0,.15); list-style: none; } li { padding: 5px 10px; cursor: pointer; } li:hover { background-color: #f5f5f5; } </style>
在上述示例中,通過(guò)v-model綁定輸入框的值,使用@focus監(jiān)聽(tīng)輸入框的聚焦事件,使用v-show控制下拉框的顯示/隱藏。使用v-for遍歷可選項(xiàng)列表,@click綁定選項(xiàng)的點(diǎn)擊事件,選項(xiàng)被點(diǎn)擊后,改變輸入框的值,并隱藏下拉框。
上述示例僅是一個(gè)簡(jiǎn)單的Vue input下拉框組件,實(shí)際項(xiàng)目中,可能需要更多的定制化功能和優(yōu)化,如搜索、分頁(yè)、異步加載、多級(jí)聯(lián)動(dòng)、樣式定制等。