0.1.21 • Published 1 year ago

react-antd-iui v0.1.21

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

react-antd-iui

NPM version NPM version NPM version NPM version

react-antd常用二次封装组件

在线文档

组件功能

表格组件功能

  1. 标准Antd表格, 统一配置 options , 样式
  2. 简单表格, 只展示表格数据, 适用于展示一些不用请求网络的静态表格
  3. 自动和手动请求请求表格接口数据
  4. 内置可选搜索栏表单配置(内置表单目前仅支持input和select), 支持表单校验, 表格与搜索栏之间的插槽
  5. 内置可选编辑单元格和编辑行(内置表单目前仅支持input), 支持表单校验
  6. 内置可选单元格自定义显示Tooltip
  7. 内置可选表格是否第一列显示序号, 默认显示
  8. ConfigProvider 全局配置
  9. 内置表单增加多个常用表单类型
  10. 编辑行增加modal, 增加查看行modal
  11. 合并所有表单配置为一个配置

扩展的属性和方法

ITable

参数说明类型默认值
getTableDataApi请求数据的Apistring-
getTableData请求数据的方法, 注意和 getTableDataApi 不能同时使用(args: RequestHandlerArgs) => Promise<Record<string, any>>-
requestParamsHandler在请求之前额外处理请求参数( searchParams, formData ) : { searchParams, formData }-
initPaginationConfig初始化分页数据PaginationConfigType-
initParams初始化表单数据InitParamsType-
blockAutoRequestFlagtrue: 阻止初始内置自动请求, auto : initParams 数据更新后自动请求boolean / 'auto'false
simpleTableFlag简单表格, 只展示表格数据, 适用于展示一些不用请求网络的静态表格booleanfalse
useAntdTableOptionsuseAntdTable 的配置参数UseAntdTableOptionsType-
showSearchBar是否使用搜索栏booleantrue
useTableForm使用搜索栏的表单配置参数UseTableFormType-
editableConfig编辑表格的配置参数EditableConfigType-
editableConfig.editRowFlagtrue : 编辑行, false : 编辑单元格booleanfalse
editableConfig.onChange配置了的话保存优先使用(args: EditArgumentsType) => void-
iTableRequestFields表格请求字段名ITableRequestFieldsType{ current: 'page', pageSize: 'limit', total: 'total', records: 'list', data: 'data' }
serialNumber是否在最左边显示序列号, 从多少开始, 默认从1开始boolean / number11
children表格与搜索栏之间的插槽React.ReactNode-
filterRequestValue过滤请求参数值true / ((key: string, value: any) => any)undefined和""
requestOptions传入getTableDataApi时使用的自定义请求options(args: { params: Record<string, any> }) => Partial<UseRequestOptionsType>-
responseDataHandler回调方法处理请求返回的数据<TData, TRes>(data: TData, res: TRes) => TData-
disabled禁用内置的表单和按钮boolean-

columns

参数说明类型默认值
editable当前单元格是否可以编辑EditableType-
tooltip当前单元格是否可以自定义显示TooltipbooleanTooltipProps-
formProps编辑行/单元格表单Form配置propsFormProps-
formItemProps编辑行/单元格表单Item配置propsFormItemProps-
sortConfig排序配置SortConfigType-
sortConfig.sortFieldsName排序请求字段[string, string][order, orderField]
sortConfig.orderFieldName排序字段的名称'lowerLine' / 'smallHump' / ((str: string) => string)dataIndex

useTableForm

参数说明类型默认值
formProps表单 FormpropsFormProps-
formItemOptions表单 Form.Item 配置IFormItemType[]-
formItemAppendNodes按钮组, 追加到表单按钮后面React.ReactNode-
formItemRowNodes表单追加一行元素React.ReactNode-
showSearch是否显示查询按钮booleantrue
searchText查询文本string查询
searchProps查询按钮propsButtonProps-
showReset是否显示查询按钮booleantrue
resetText是否显示查询按钮string重置
resetProps重置按钮propsButtonProps-

IFormItemType

参数说明类型默认值
name表单 namestring-
formItemProps表单 Form.ItempropsFormItemProps-
itemName表单元素名称string-
itemProps表单元素的 propsany-
optionProps表单元素 optionpropsany-
itemNode表单元素, 如传了优先使用React.ReactNode-

ConfigProvider 全局配置

参数说明类型默认值
isUseHttp是否使用 use-http 请求, 否则使用 fetchbooleantrue
iTableRequestFields表格请求字段名ITableRequestFieldsType{ current: 'page', pageSize: 'limit', total: 'total', records: 'list', data: 'data' }
antdContextOptionsantd表格全局配置项, 注意上下文顺序AntdConfigProviderProps-
responseHandleruseRequest请求响应后的操作ResponseHandlerType-

使用示例

// 手动请求数据
itableRef.current?.run(...params)

// 刷新
itableRef.current?.refresh()

// 自动请求数据
let initParams = {}
setTimeout(() => {
  initParams = { name: 'jack' }
}, 500)
< ITable
initParams = { initParams }
/>

// 简单表格
<ITable
  columns={columns}
  dataSource={dataSource}
  simpleTableFlag
  blockAutoRequestFlag
  // 简单表格, 必须传getTableData或者getTableDataApi, 值随便传, 不会使用到
  getTableData={(pagination, formData) => {
    // eslint-disable-next-line no-console
    console.log('pagination, formData', pagination, formData)
    return Promise.resolve({ total: 1, list: [] })
  }}
/>

// 如果外层样式TableStyled是styled(Table), 使用as="div"
<TableStyled as="div">
  <ITable />
</TableStyled>

默认配置文件config.ts

参数说明类型默认值
defaultPaginationConfig基础分页配置PaginationConfigType{current: 1,pageSize: 10,total: 0,pageSizeOptions: [10, 20, 50, 100]}
defaultTableConfig默认antd表格配置TableProps<RecordType>{rowKey: 'id', scroll: { x: '100%' }, tableLayout: 'fixed' }

IInput

组件功能

  1. 内置 useRemoveInputSpaces 支持失去焦点和回车去除内容首尾空格
  2. 支持 IInput.ITextArea IInput.ISearch IInput.IPassword
参数说明类型默认值
regex替换正则RegExp / false/(^\s*)/(\s*$)/g
formNameform表单namestringInput.id
pressEnterFlag回车是否去除空格booleantrue

hooks

useRequest

网络请求,使用参考 Fetchuse-http 文档, 支持全局和使用时处理响应结果 全局上下文配置 isUseHttp = true 使用 use-http 请求, 否则使用 Fetch

参数说明类型默认值
api请求地址string-
optionsfetch options 增加了 params, 修改body为对象RequestInit & IRequestProps-
responseHandler响应后的操作ResponseHandlerType-
responseHandler.responseDataHandler成功后处理数据方法(args?: Record<string, any>) => Promise<any>-
responseHandler.responseSuccessText请求成功提示语string请求成功
responseHandler.responseErrorText请求失败提示语string请求失败
返回 run开始请求方法(args: RequestHandlerArgs) => Promise<any>-
返回 use-http的所有返回对象use-http的所有返回对象, Fetch返回 runloadingobject-

useITableInstance

获取 ITable 实例, 返回 ITableInstance

useRemoveInputSpaces

去除 input 内容首尾空格, 支持失去焦点和回车 Antd Form 直接使用, 未在 Form 里的 Input 通过 onChange 处理

参数说明类型默认值
regex替换正则RegExp / false/(^\s*)/(\s*$)/g
formNameform表单namestringInput.id
pressEnterFlag回车是否去除空格booleantrue

LICENSE

MIT

0.1.20

1 year ago

0.1.21

1 year ago

0.1.19

1 year ago

0.1.10

1 year ago

0.1.11

1 year ago

0.1.12

1 year ago

0.1.13

1 year ago

0.1.14

1 year ago

0.1.15

1 year ago

0.1.0

1 year ago

0.1.2

1 year ago

0.0.3

1 year ago

0.1.1

1 year ago

0.0.2

1 year ago

0.1.16

1 year ago

0.1.8

1 year ago

0.0.9

1 year ago

0.1.17

1 year ago

0.1.7

1 year ago

0.0.8

1 year ago

0.1.18

1 year ago

0.1.9

1 year ago

0.1.4

1 year ago

0.0.5

1 year ago

0.1.3

1 year ago

0.0.4

1 year ago

0.1.6

1 year ago

0.0.7

1 year ago

0.1.5

1 year ago

0.0.6

1 year ago

0.0.1

1 year ago