? ? ? ? 在原來的js的思維下,級聯下拉框的選擇往往是,先綁定一級下拉框的菜單,然后在該下拉框下onchange, 在onchange事件中獲取當前選項,然后綁定二級下拉框的數據,以此類推……
? ? ? 在vue框架下應該改變思維,首先設置一級下拉框的數據,然后watch 該 選項,如果改變,則設置二級下拉框的數據,一次類推:
<el-form-item label="省"><el-select v-model="where.provinceId" placeholder="請選擇省份" clearable ><el-option v-for="item in provinces" :key="item.id" :label="item.name" :value="item.id" /></el-select>
</el-form-item>
<el-form-item label="市"><el-select v-model="where.cityId" placeholder="請選擇市" clearable><el-option v-for="item in cities" :key="item.id" :label="item.name" :value="item.id" /></el-select>
</el-form-item>
const provinces = ref([])
const cities = ref([])onMounted(()=>{// 通過接口獲取省份provinces.value = [...data]
})watch: {provinceId: {deep: true,handler() {// 根據接口獲取市的數據cities.value=[...data]// 清空城市的選擇where.cityId=''}}
},