@cainiaofe/cn-ui-m
Version:
25 lines (24 loc) • 928 B
TypeScript
import React from 'react';
import type { CnButtonProps } from "../../cn-button";
interface IOperateButton extends Pick<CnButtonProps, 'type'> {
children: React.ReactNode;
onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>, row: Record<string, unknown>, index: number) => void;
/**
* 优先级低于 visible
*/
hidden?: (row: Record<string, unknown>, index: number) => boolean;
visible?: (row: Record<string, unknown>, index: number) => boolean;
/**
* 含义等同 disabled
*/
isDisabled?: (row: Record<string, unknown>, index: number) => boolean;
/**
* 是否禁用
*/
disabled?: ((row: Record<string, unknown>, index: number) => boolean) | boolean;
}
type IOperateButtonRender = (row: Record<string, unknown>, index: number) => IOperateButton;
export interface IOperateColumns {
buttons?: Array<IOperateButton | IOperateButtonRender>;
}
export {};