Vue select聯(lián)動是指當(dāng)兩個或多個下拉列表之間存在依賴關(guān)系時,改變一個下拉列表的選項時會影響到其他下拉列表的選項。Vue select聯(lián)動在表單應(yīng)用程序中非常常見,可以提高用戶體驗和數(shù)據(jù)準(zhǔn)確性。在Vue中實現(xiàn)聯(lián)動也非常簡單,本文將介紹實現(xiàn)Vue select聯(lián)動的步驟和代碼。
首先,在HTML中創(chuàng)建至少兩個select元素。
上述代碼中,第一個下拉列表是選擇國家的,第二個下拉列表是選擇城市的。當(dāng)?shù)谝粋€下拉列表的選項改變時,第二個下拉列表的選項會隨之改變。注意,如果沒有可用的城市,則禁用第二個下拉列表。
然后,在Vue實例中定義數(shù)據(jù),使第一個下拉列表的選項影響第二個下拉列表的選項。
data() {
return {
selectedCountry: '',
selectedCity: '',
countries: [
{ name: 'USA', cities: [{ name: 'New York' }, { name: 'Los Angeles' }] },
{ name: 'Canada', cities: [{ name: 'Toronto' }, { name: 'Vancouver' }] },
{ name: 'Mexico', cities: [{ name: 'Mexico City' }, { name: 'Guadalajara' }] }
]
}
},
computed: {
cities() {
const selectedCountry = this.selectedCountry
const selectedCities = this.countries.filter(country =>country.name === selectedCountry)[0]
return selectedCities ? selectedCities.cities : []
}
}
上述代碼中,數(shù)據(jù)包括選中的國家和城市以及所有國家和城市的列表。而計算屬性則根據(jù)選中的國家,返回該國家的城市列表。
Vue select聯(lián)動的實現(xiàn)就完成了。此時,當(dāng)?shù)谝粋€下拉列表的選項改變時,第二個下拉列表的選項會動態(tài)地發(fā)生改變。