Skip to content

Cascader 级联选择

用于多层级关联数据(如省市区行政区划、多级商品分类)逐级选择与路径管理的 Tab 选项卡面板。


代码示例

1. 基础用法 (Basic)

使用 v-model 绑定当前选中的路径标识数组,通过 options 传入带有 children 的树状级联数据。

vue
<template>
  <mu-button type="primary" block @click="show = true">选择服务区域</mu-button>

  <mu-cascader
    v-model:show="show"
    v-model="selectedPath"
    title="选择服务区域"
    :options="areaOptions"
    @change="handleChange"
  />
</template>

<script setup>
import { ref } from 'vue'
const show = ref(false)
const selectedPath = ref([])
const areaOptions = [
  {
    label: '浙江省',
    value: 'zhejiang',
    children: [
      {
        label: '杭州市',
        value: 'hangzhou',
        children: [
          { label: '西湖区', value: 'xihu' },
          { label: '余杭区', value: 'yuhang' }
        ]
      }
    ]
  }
]

const handleChange = (path) => {
  console.log('选中路径:', path)
}
</script>

API 属性说明 (Props)

参数名说明类型可选值默认值
v-model:show / show控制级联选择器弹窗显示/隐藏Booleantrue | falsefalse
v-model / modelValue选中的路径节点 value 数组Array-[]
options树状级联数据源列表Array-[]
title顶部弹窗标题String-'请选择'
fieldNames自定义层级字段键名对象Object-{ label: 'label', value: 'value', children: 'children' }

事件说明 (Events)

事件名说明回调参数
update:showv-model:show 双向绑定更新(show: boolean)
update:modelValue / update:valuev-model 双向绑定更新(value: Array)
change级联节点选择完成时触发(selectedPath: Array)
close弹窗完全动画关闭时触发-

基于 MIT 协议开源发行

H5 模拟器 (cascader)☀️🔄