@riil-frontend/hooks

1.1.4 • Public • Published

riil hooks

hooks

riil hooks

RiilHooks

riil 工程中的 hook

.useSearchTree 高级树,next 原生树搜索 hook

参数名 说明 必填 类型 默认值 备注
defaultExpandedKeys 默认展开项 []
treeData 树数据 -
onExpand 点击展开回调 null
includeParent 检索时是否需要返回父节点的 id false
propertyName 被检索的属性名 label
defaultKeyword 默认搜索关键字 ''
返回值 说明 类型
matchedKeys 过滤匹配项,通常无需使用 string[]
expandedKeys 展开项,回填到 treeProps string[]
onExpand 点击展开回调, 回填到 treeProps (keys)=>{}
onKeywordChange 搜索关键字变化回调,回填到 Search 组件 onChange 方法 (val)=>{}

.useTableColumn 生成 table 列 hook,可结合列配置组件使用

参数名 说明 必填 类型 默认值 备注
columns table 列原始数据 column[] -
config 列配置组件对接数据 config[] undefined 详见 ColumnConfigurator
返回值 说明 类型
columnDatas 用于 table 显示的列配置数据,导出后需要转换成<Table.Column/> object[]
columnNodes 用于 table 显示的列配置 Nodes,<Table.Column/>[] Table.Column[]

useAnchorsScroll 锚点定位 hook

参数名 说明 必填 类型 默认值 备注
target DOM element or ref object Element Document (() => Element)
config 滚动监听的类名配置 object "" { contentItemClassName:<内容区域目录的名字> }

扩展 Table.Column: 延续 Table.Column 所有属性,以下为扩展内容

参数名 说明 必填 类型 默认值 备注
titleOption 扩展列头显示 object -
titleOption.help 列头增加 help object -
titleOption.help.value 列头帮助悬浮文案 string ''
titleOption.help.balloonProps 列头帮助悬浮组件透传 object {}
titleOption.help.iconProps 列头帮助 icon 组件透传 object {}
cellOption 扩展 cell object {}
cellOption.nowrap 单行截断 {nowrapCell,title} / boolean true
cellOption.nowrap.nowrapCell 截断内部自定义项 ReactElement/ReactNode/(value, rowIndex, record)=>{} value => value
cellOption.nowrap.title 自定义悬浮 (value, rowIndex, record)=>string/string undefined
cellOption.inputEdit 编辑浏览 Input,可在浏览模式和编辑模式切换。鼠标 hover 悬浮出边框,点击切换到 input 输入模式,点击外部或回车保存编辑。esc 键取消操作。可自定义校验,不通过校验不触发提交回调。校验执行事件为 input 的 onChange 事件 {onSubmit,validator,viewCell,inputProps}
cellOption.inputEdit.onSubmit 编辑提交回调,鼠标点击外部,回车触发 (value, rowIndex, record)=>{}
cellOption.inputEdit.validator 自定义校验。返回''表示通过校验,否则为不通过校验的提示文本 (value, rowIndex, record)=>string undefined
cellOption.inputEdit.viewCell 自定义 view 模式的显.示 ReactElement/ReactNode/(value, rowIndex, record)=>{} value => value
cellOption.inputEdit.inputProps input 组件属性透传,注意:style(style={{width:auto}}), value,ref,onKeyDown,onChange 为组件占用属性,请谨慎执行覆盖行为 ReactElement/ReactNode/(value, rowIndex, record)=>{} value => value

{ anchorData, tableData, anchorChildren, domId, rowProps,anchorContent}; { data, anchorLabel }

.useAnchorWithGroupTable :锚点定位组件和 table tree 模式组合使用的钩子,

注意钩子函数会在 table 数据中添加 anchorId 属性,请在数据集中设置此字段为预留字段。

参数名 说明 必填 类型 默认值 备注
data table 的数据
anchorLabelKey 锚点列表中要显示的名称对应 table 数据中哪个列的值 -
返回值 说明 类型
anchorData 供给 Anchor 组件使用的数据,如无需自定义 Anchor 功能,则可直接使用 anchorChildren 填充子项 object[]
tableData 整合后的 table 数据,会增加一项唯一标示符行的列数据(anchorId) object[]
anchorChildren 提供给 Anchor 组件使用的 children ReactNode
domId 用来实现定位的 id,需要在 table 组件外层 dom 设置 id 为此值 string
rowProps Table rowProps 属性设置为此值 funtion
anchorContent Anchor 组件的 content 属性设置为此值 function
primaryKey Table 数据若无唯一标示符关键字,则可将 primaryKey 属性可设置为此值 ('anchorId') string

.useAutoScroll 自动滚动

参数名 说明 必填 类型 默认值 备注
ref 滚动 dom 的 ref - - -
option 扩展配置 - object - -
option.text "回到最新位置"按钮文本 - string "回到最新位置" -
option.iconType "回到最新位置"图标类型 - string "arrow-double-left" -
option.className "回到最新位置"样式名 - string - -

.useFilterTree 高级树,next 原生树搜索过滤 hook,返回原始数据过滤后的副本数据

注意:filterType 为 onlyLeaf 时,需要树数据项中,叶子节点数据中具备 filterLeaf=true 的属性。

参数名 说明 必填 类型 默认值 备注
defaultExpandedKeys 默认展开项 []
treeData 树数据 -
onExpand 点击展开回调 null
propertyName 被检索的属性名 'label'
defaultKeyword 默认搜索关键字 ''
filterType 过滤方式 onlyLeaf or all。onlyLeaf 此类型会过滤掉标记为叶子节点(数据关键字:'filterLeaf')的所有非匹配项,并将无叶子节点的父节点一并过滤掉;all 此类型过滤掉所有匹配关键字的项,若父节点下包含过滤项,则保留父节点 'onlyLeaf '
keyName 树组件 key 属性数据,actionTree 组件此属性为 id,next tree 组件原生属性为 key。用来实现展开功能 'key'
返回值 说明 类型
filterData 过滤后的树数据 object
expandedKeys 展开项,回填到 treeProps string[]
onExpand 点击展开回调, 回填到 treeProps (keys)=>{}
onKeywordChange 搜索关键字变化回调,回填到 Search 组件 onChange 方法 (val)=>{}

FILTER_TYPE

useFilterTree filterType 的枚举常量

FILTER_TYPE = {

onlyLeaf: 'onlyLeaf',

all: 'all',

};

.delTreeNodeProp 删除树数据中某属性的方法 为解决附加属性 filterLeaf 加入到树数据上时,引起 next Tree 原生组件报错的问题 此方法会生成树数据的一份副本

参数名 说明 必填 类型 默认值 备注
data tree 数据 - - - -
propsName 要删除属性的名称 - string 'filterLeaf' -
返回值 说明 类型
data 删除属性后的副本数据 object

.useAutoBalloonAlign 气泡框根据 targer 位置,自动布局函数 defaultAlign, target, popWidth, popHeight, dir = 'v'

参数名 说明 必填 类型 默认值 备注
defaultAlign 默认 align 值 - - dir === 'v' ? 'tl' : 'rb' -
target 气泡框组件 ref 必填 any - -
popWidth 弹出层宽度 必填 number - -
popHeight 弹出层高度 必填 number - -
dir 垂直 or 水平弹出 - 'v'or'h' 'v' v=上下弹出;h=左右弹出
返回值 说明 类型
align 填充气泡框 align 属性值 string

CHANGE LOG

  • 1.1.0 增加树组件过滤函数 useFilterTree,树删除属性方法 delTreeNodeProp
  • 1.1.2 增加 useAutoBalloonAlign 钩子
  • 1.1.3 优化 useAutoBalloonAlign 钩子,增加居中弹出
  • 1.1.4 优化 useAutoBalloonAlign 钩子,支持垂直,水平布局时,若空间不够,自动转换成另一种布局

Readme

Keywords

Package Sidebar

Install

npm i @riil-frontend/hooks

Weekly Downloads

9

Version

1.1.4

License

MIT

Unpacked Size

2.88 MB

Total Files

49

Last publish

Collaborators

  • riil-frontend