1.0.0-beta.15 • Published 4 years ago

@rax-ui/filter-combo-container v1.0.0-beta.15

Weekly downloads
3
License
-
Repository
-
Last release
4 years ago

display: @rax-ui/filter-combo-container

family: other

@rax-ui/filter-combo-container

用作 Filter 场景的业务组件组合容器,它只是一个滚动容器,包含 重置确认选择按钮 和一些方法,内部渲染由 config 数组传递 子组件和 子组件props 来决定,详见 Demo

Feature

  • 1、内部组件可动态扩展
  • 2、容器统一封装,开发者无需关心容器实现,按照规范抛出结果即可
  • 3、统一封装,必然有一些规范,规范如下

接入容器中的组件:规范约定

  • 组件必须暴露 reset 重置选中值方法供容器调用:Function() => filterParam
  • 组件必须暴露 getFilterParam 获取选中值方法供容器调用:Function() => filterParam
  • 组件 onChange(filterParam) 回调函数返回形参 filterParam
// filterParam 格式
interface FilterParam {
  filterKey: string | number;
  filterText?: string;
  filterValue: any;
  // 和默认筛选值比较,筛选值是否变更
  filterValueChanged?: boolean;
}

预览图

预览图

API

Props

名称说明类型默认值
styles自定义样式{ key:string: CSSProperties}{}
config组合的组件配置数组(Component 属性必传,此处用 多选组件)Array[]
filterKeyfilterKeyString'more'
resetButtonText重置按钮文字String'重置'
confirmButtonText确认按钮文字String'确定选择'
enableScroll开启滚动Booleantrue
iphonexCompatibleiPhoneX 兼容性处理Booleantrue

这里的 MultiSelect写法规范就是 Filter.Panel 子组件书写规范,详见 @rax-ui/filter 组件文档

config = [
  {
    Component: MultiSelect, // Component必传,此处用 多选组件
    {...compProps} // 如下都是多选组件的 Props
  },
  {
    Component: MultiSelect, // Component必传,此处用 多选组件
    {...compProps} // 如下都是多选组件的 Props
  },
]

方法

名称说明类型默认值
reset重置内部选中状态Function
rootRef根节点 refObject

CSS API

名称说明
container外层容器样式(可通过此来设置 width, height)
body中间内容样式
footer底部样式
reset__button重置按钮样式
resetbuttontext重置按钮文字样式
confirm__button确认按钮
confirmbuttontext确认按钮文字样式
separator分隔符样式