@fle-ui/plus-goods-detail-drawer
Version:
@fle-ui/plus-goods-detail-drawer
43 lines (42 loc) • 1.98 kB
TypeScript
import React from 'react';
import { type TooltipProps } from 'antd';
import type { InternalDescriptionsItemType } from 'antd/es/descriptions';
import type { BasicInfo, SalesInfo, FreightInfo, GoodsDetail } from '../../type';
/**
* 获取描述项的标签(支持变更记录和动态宽度等功能)
* @param {Object} params - 参数对象
* @param {React.ReactNode} params.label - 标签内容
* @param {boolean} [params.isChangeRecord] - 是否为变更记录(高亮显示并展示原内容)
* @param {React.ReactNode} [params.beforeContent] - 变更前的内容(用于展示在气泡中)
* @param {boolean} [params.dynamicWidth] - 是否根据屏幕宽度动态调整气泡宽度
* @param {number|string} [params.tooltipWidth] - 自定义气泡宽度
* @param {TooltipProps['placement']} [params.tooltipPlacement] - 气泡显示位置
* @returns {React.ReactNode} 返回用于 Descriptions.Item 的 label 节点
*/
export declare const getLabelDom: ({ label, isChangeRecord, beforeContent, dynamicWidth, tooltipWidth, tooltipPlacement, }: {
label: React.ReactNode;
isChangeRecord?: boolean | undefined;
beforeContent?: React.ReactNode;
dynamicWidth?: boolean | undefined;
tooltipWidth?: string | number | undefined;
tooltipPlacement?: TooltipProps['placement'];
}) => React.ReactNode;
/**
* 格式化描述项组件
* @param item 描述项
* @returns 格式化后的描述项
*/
export declare const formatDescriptionsItem: (item: InternalDescriptionsItemType & {
hideFields?: (keyof BasicInfo | keyof SalesInfo | keyof FreightInfo | keyof GoodsDetail)[];
beforeContent?: React.ReactNode;
isChangeRecord?: boolean;
dynamicWidth?: boolean;
tooltipWidth?: number | string;
tooltipPlacement?: TooltipProps['placement'];
}) => InternalDescriptionsItemType | null;
/**
* 将值转换为布尔值
* @param value 值
* @returns 布尔值
*/
export declare const formatValueToBoolean: (value: any) => boolean;