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=''
      }
    }
},
相关推荐
_果果然16 小时前
你真的懂递归吗?没那么复杂,但也没那么简单
前端·javascript
菜泡泡@17 小时前
仓库地图vue-grid-layout
前端·javascript·vue.js
2013编程爱好者21 小时前
Vue工程结构分析
前端·javascript·vue.js·typescript·前端框架
不羁的fang少年1 天前
前端常见问题(vue,css,html,js等)
前端·javascript·css
change_fate1 天前
el-menu折叠后文字下移
前端·javascript·vue.js
weixin_411191841 天前
flutter中WebView的使用及JavaScript桥接的问题记录
javascript·flutter
百***06011 天前
SpringMVC 请求参数接收
前端·javascript·算法
天外天-亮1 天前
Vue + excel下载 + 水印
前端·vue.js·excel
用户47949283569151 天前
Code Review 惊魂:同事的“优雅”重构,差点让管理员全部掉线
javascript
虚伪的空想家1 天前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm