ideaz-element
Version:
<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>
64 lines (62 loc) • 2.01 kB
TypeScript
import { FormItemProps as ElFormItemProps, ElTooltipProps, FormItemRule, FormRules } from 'element-plus';
import { CSSProperties, VNode } from 'vue';
import { IndexType, OptionsItem } from './common';
export type TooltipObjectType = Omit<Partial<ElTooltipProps>, 'content'> & {
reference?: (() => VNode) | string;
content: string | (() => VNode);
};
export type FormItemTooltip = string | (() => VNode) | TooltipObjectType;
export interface FormItemProps {
tooltip?: FormItemTooltip;
label?: string | (() => VNode);
extra?: string | (() => VNode);
colon?: boolean;
class?: string | string[];
style?: CSSProperties;
}
export interface FormColumn {
component?: string | (() => string);
tooltip?: FormItemTooltip;
label?: string | (() => VNode);
extra?: string | (() => VNode);
colon?: boolean;
field?: string;
formItemProps?: Partial<ElFormItemProps> & FormItemProps;
fieldProps?: IndexType;
hide?: ((formData: any) => boolean) | boolean;
show?: ((formData: any) => boolean) | boolean;
on?: IndexType;
slot?: string;
colGrid?: IndexType;
modifier?: string;
order?: number;
render?: any;
error?: string | (() => VNode);
class?: string;
style?: CSSProperties;
rules?: FormRules | FormItemRule;
message?: string;
__key?: string;
key?: string;
children?: FormColumn[];
disabled?: boolean;
options?: OptionsItem[];
required?: boolean;
labelWidth?: string | number;
span?: number;
offset?: number;
pull?: number;
push?: number;
xs?: number | object;
sm?: number | object;
md?: number | object;
lg?: number | object;
xl?: number | object;
icon?: string | (() => VNode);
description?: string | (() => VNode);
status?: '' | 'wait' | 'process' | 'finish' | 'error' | 'success';
max?: number;
contentPosition?: 'left' | 'right' | 'center';
borderStyle?: 'none' | 'solid' | 'hidden' | 'dashed' | '';
prop?: string;
}