vue 级联下拉框选择的思维

在原来的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=''
      }
    }
},
相关推荐
秋子aria19 分钟前
模块的原理及使用
前端·javascript
菜市口的跳脚长颌19 分钟前
一个 Vite 打包配置,引发的问题—— global: 'globalThis'
前端·vue.js·vite
胖虎26520 分钟前
实现无缝滚动无滚动条的 Element UI 表格(附完整代码)
前端·vue.js
爱加班的猫24 分钟前
深入理解防抖与节流
前端·javascript
用户120391129472626 分钟前
从零实现AI Logo生成器:前端开发者的DALL-E 3实战指南
javascript
信码由缰29 分钟前
Java智能体框架的繁荣是一种代码异味
javascript·ai编程
自由日记39 分钟前
学习中小牢骚1
前端·javascript·css
VOLUN1 小时前
Vue3 选择弹窗工厂函数:高效构建可复用数据选择组件
前端·javascript·vue.js
南山安1 小时前
面试必考点: 深入理解CSS盒子模型
javascript·面试
VOLUN1 小时前
Vue3 中 watch 第三个参数怎么用?6 大配置属性 + 场景指南
前端·javascript·vue.js