condition-editor
Version:
31 lines (30 loc) • 884 B
TypeScript
/// <reference types="react" />
/** @interface 表单字段值属性 */
export interface FieldValueProps<T = string, U = T> {
/** @name 字段受控值 */
value?: T;
/** @name 字段默认值 */
defaultValue?: T;
/** @name 字段受控值改变触发 */
onChange?: (value: U) => void;
}
/**
* @interface 表单字段原生属性
*/
export interface NativeProps<S extends string = never> {
/** @name 组件自定义样式类 */
className?: string;
/** @name 组件自定义样式 */
style?: React.CSSProperties & Partial<Record<S, string>>;
}
/** @typeof 选项节点 */
export type OptionItem<ValueType = string> = {
/** @description 选项文本 */
label: React.ReactNode;
/** @description 选项值 */
value: ValueType;
/** @description 禁用 */
disabled?: boolean;
/** @name 其他属性 */
data?: any;
};