UNPKG

mobile-more

Version:

基于 antd-mobile v5 扩展移动端 UI 组件

140 lines (139 loc) 4.25 kB
import React from 'react'; import { PopoverProps } from 'antd-mobile'; import { WithFieldProps } from '../BizField/interface'; import { StyleWithVariable } from '../../types'; import './index.less'; export interface BizDescriptionsItemProps extends React.HTMLAttributes<HTMLDivElement> { /** * @description 标签。 */ label?: React.ReactNode; /** * @description 标签样式。 */ labelStyle?: React.CSSProperties; /** * @description 标签类名。 */ labelClassName?: string; /** * @description 内容样式。 */ contentStyle?: React.CSSProperties; /** * @description 内容类名。 */ contentClassName?: string; /** * @description 提示文本。 */ help?: React.ReactNode; /** * @description 提示图标。 */ helpIcon?: PopoverProps['children']; /** * @description 提示弹出层属性。 */ popoverProps?: Omit<PopoverProps, 'content' | 'children'>; } declare const BizDescriptionsItem: React.FC<BizDescriptionsItemProps>; type DataIndexType = string | number; type NodeNameType = 'label' | 'content'; export type BizDescriptionsItemType<DataType = any> = Pick<BizDescriptionsItemProps, 'label' | 'help' | 'helpIcon' | 'style' | 'className' | 'popoverProps' | 'children'> & { /** * @description 节点样式。 */ styles?: Partial<Record<NodeNameType, React.CSSProperties>>; /** * @description 节点类名。 */ classNames?: Partial<Record<NodeNameType, string>>; /** * @description 是否隐藏。 */ hidden?: boolean; /** * @description 数据索引。 * * 如果没有`children`,则从数据中获取`dataIndex`对应的值,根据`valueType`进行渲染。 * * 支持对象路径,如 `a.b.c`。 * * 数组表示多个值的索引,同样支持对象路径。 */ dataIndex?: DataIndexType | DataIndexType[]; /** * @description 自定义渲染。 * * 如果没有`children`,则从数据中获取`dataIndex`对应的值,根据`valueType`进行渲染。 * * 如果有`children`,则直接渲染`children`。 * * @param value 当前索引值 * @param record 数据源 * @param index 当前渲染的序列号 * @returns */ render?: (value: any, record: DataType, index: number) => React.ReactNode; } & WithFieldProps<DataType>; export interface BizDescriptionsProps<DataType extends object = any> { /** * @description 标题。 */ title?: React.ReactNode; /** * @description 冒号。 */ colon?: boolean; /** * @description 自定义样式。 */ style?: StyleWithVariable<'--font-size' | '--color' | '--title-color' | '--padding-inner' | '--justify-content' | '--flex-direction' | '--label-color' | '--label-width' | '--label-text-align' | '--content-color' | '--content-text-align'>; /** * @description 数据源。 */ dataSource?: DataType; /** * @description 描述列表项内容。 */ items?: BizDescriptionsItemType<DataType>[]; /** * @deprecated 即将移除,请使用 `items` 代替。 */ children?: React.ReactNode; /** * @description 类名。 */ className?: string; /** * @description 提示文本。 */ help?: React.ReactNode; /** * @description 提示图标。 */ helpIcon?: PopoverProps['children']; /** * @description 提示弹出层属性。 */ popoverProps?: Omit<PopoverProps, 'content' | 'children'>; } declare const BizDescriptions: React.FC<BizDescriptionsProps> & { Item: typeof BizDescriptionsItem; }; /** * @deprecated 即将废弃,请使用 `BizDescriptionsItemProps` 替代。 */ export type DescriptionsItemProps = BizDescriptionsItemProps; /** * @deprecated 即将废弃,请使用 `BizDescriptionsProps` 替代。 */ export type DescriptionsProps = BizDescriptionsProps; /** * @deprecated 即将废弃,请使用 `BizDescriptions` 替代。 */ export declare const Descriptions: React.FC<BizDescriptionsProps<any>> & { Item: typeof BizDescriptionsItem; }; export default BizDescriptions;