# l-cascader 多选级联选择器使用指南 ## 概述 l-cascader 组件现已支持单选和多选两种模式,类似 Ant Design 的 Cascader 级联多选组件。多选模式下使用 lime-checkbox 组件作为选择框。 ## 基本用法 ### 单选模式(默认) ```vue ``` ### 多选模式 ```vue ``` ## 属性说明 ### 多选相关属性 | 属性名 | 类型 | 默认值 | 说明 | |--------|------|--------|------| | multiple | boolean | false | 是否启用多选模式 | | multipleValue | string[] | [] | 多选模式下的选中值数组(支持v-model) | | defaultMultipleValue | string[] | [] | 多选模式下的默认选中值数组 | | maxTagCount | number | -1 | 最大选择数量,-1表示无限制 | | showCheckedCount | boolean | true | 是否显示选中数量 | ### 其他属性 | 属性名 | 类型 | 默认值 | 说明 | |--------|------|--------|------| | visible | boolean | false | 控制组件显示/隐藏 | | options | UTSJSONObject[] | [] | 数据源 | | title | string | - | 主标题文本 | | placeholder | string | '选择选项' | 未选择时的提示文字 | | checkStrictly | boolean | false | 父子节点选择是否关联 | | closeable | boolean | true | 是否显示关闭按钮 | | activeColor | string | '#3283ff' | 选中状态主题色 | ## 事件说明 | 事件名 | 参数 | 说明 | |--------|------|------| | change | (value: string \| string[], selectedOptions: any[]) | 选项变化时触发,单选返回string,多选返回string[] | | pick | (level: number, index: number, value: string, selectedIndexes: number[]) | 选中时触发 | | close | - | 关闭时触发 | | finish | - | 点击完成时触发 | ## 数据格式 ### 选项数据结构 ```typescript interface CascaderOption { label: string; // 显示文本 value: string; // 选项值 children?: CascaderOption[]; // 子选项 disabled?: boolean; // 是否禁用 color?: string; // 自定义颜色 } ``` ### 字段别名配置 ```vue ``` ## 高级用法 ### 自定义字段别名 ```vue ``` ### 限制选择数量 ```vue ``` ### 禁用某些选项 ```vue ``` ## 注意事项 1. **单选模式**:使用 `v-model` 绑定单个字符串值 2. **多选模式**:使用 `v-model:multipleValue` 绑定字符串数组 3. **父子关联**:`checkStrictly` 为 false 时,选择父节点会自动选择所有子节点 4. **最大选择数**:`maxTagCount` 设置为 -1 表示无限制 5. **样式定制**:可以通过 CSS 变量自定义主题色和样式 ## 样式定制 ```scss // 自定义主题色 .l-cascader { --l-cascader-icon-color: #ff6b6b; --l-cascader-cell-title-color: #333; } // 自定义checkbox样式 .l-cascader__checkbox { .l-checkbox { --l-checkbox-icon-checked-color: #ff6b6b; } } ``` ## 兼容性 - 支持 H5、小程序、App 多端 - 基于 uni-app-x 框架开发 - 使用 UTS 语言编写 - 兼容 lime-checkbox 组件