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=''
      }
    }
},
相关推荐
web_Hsir1 分钟前
Uniapp 实现微信小程序滑动面板功能详解
vue.js·微信小程序·uni-app
-代号952719 分钟前
【JavaScript】十三、事件监听与事件类型
开发语言·javascript·ecmascript
阳树阳树1 小时前
signal-新的状态管理模式
前端·javascript
爱摄影的程序猿2 小时前
如何基于 Django-Vue-Admin 快速二次开发?高效后台管理系统实战指南(附完整代码)
vue.js·python·django
前端极客探险家2 小时前
如何实现一个支持拖拽排序的组件:React 和 Vue 版
前端·vue.js·react.js·排序算法
__不想说话__3 小时前
面试官问我React组件和state的关系,我指了指路口的红绿灯…
前端·javascript·react.js
随笔记3 小时前
vite构建工具和webpack构建工具有什么共同点和不同处
vue.js·react.js·webpack
Mintopia4 小时前
Three.js粒子系统开发实战:从基础到性能优化
前端·javascript·three.js
Promise5204 小时前
大屏"跑马灯" 长列表性能优化
前端·javascript
子玖4 小时前
初始化项目前的准备
前端·javascript·vue.js