# 筛选组件 ## 组件名称 `CFilter` - 用于页面筛选条件的组件 ## 组件说明 该组件用于实现页面筛选功能,包含顶部筛选条和展开的更多筛选抽屉,支持多种筛选控件类型,包括选择器、日期范围、单选和输入框等。 ## 使用方法 ```html ``` ## 属性说明 | 属性名 | 类型 | 默认值 | 说明 | | ------------- | -------- | ------ | ---------------------- | | filterData | Object | {} | 筛选数据对象 | | bar | Object | {} | 筛选横条项目配置 | | items | Array | [] | 筛选展开层项目列表配置 | | selectOptions | Object | {} | 各个项目的选项列表 | | onChange | Function | - | 筛选变化时的回调函数 | ## 子组件说明 CFilter组件包含以下子组件: 1. `CFilterSelect` - 下拉选择组件 2. `CFilterDateRange` - 日期范围选择组件 3. `CFilterRadio` - 单选组件 4. `CFilterInput` - 输入框组件 ## 配置项说明 ### bar 配置项 顶部筛选条配置,支持类型: ```js { type: 'select', // 类型:select/dateRange/input label: '状态', // 显示的标签 name: 'status', // 字段名称 cancelable: true // 是否可取消选择 } ``` ### items 配置项 更多筛选项配置数组: ```js [ { type: 'select', // 类型:select/dateRange/radio/input label: '会员类型', // 显示的标签 name: 'memberType', // 字段名称 }, { type: 'dateRange', label: '日期范围', name: 'dateRange' } ] ``` ### selectOptions 配置项 选项数据配置: ```js { status: [ { label: '全部', value: '' }, { label: '正常', value: 1 }, { label: '停用', value: 0 } ], memberType: [ { label: '全部', value: '' }, { label: '普通会员', value: 'normal' }, { label: 'VIP会员', value: 'vip' } ] } ``` ## 使用示例 ```html ``` ## 注意事项 1. 筛选条(bar)只能配置一个筛选项 2. 抽屉式筛选(items)可以配置多个筛选项 3. 每个筛选项的类型(type)必须与组件类型匹配 4. select和radio类型的选项必须在selectOptions中配置对应的选项数据