组件属性类型

interface IComponentProp<T> {
    autoCompleteOptions?: string[];
    autoInitValue?: boolean;
    defaultValue?: any;
    deprecated?: string | boolean;
    disableVariableSetter?: boolean;
    docs?: string;
    getProp?: ((form: any) => Partial<Omit<IComponentProp<T>, "getProp">>);
    getSetterProps?: ((form: any) => T);
    getVisible?: ((form: any) => boolean);
    group?:
        | "basic"
        | "event"
        | "style"
        | "data"
        | "advanced";
    initValue?: any;
    name: string;
    options?: IOptionItem<string>[];
    placeholder?: string;
    props?: IComponentProp<any>[];
    setter?: string;
    setterProps?: T;
    template?: string;
    tip?: string;
    title?: string;
    validate?: ComponentPropValidate;
}

Type Parameters

  • T = any

Hierarchy

  • IComponentProp

    Properties

    autoCompleteOptions?: string[]

    自动补全的提示值,仅对 ExpressionSetter 有效

    autoInitValue?: boolean

    如果没提供 initValue,是否自动初始化

    defaultValue?: any

    组件默认展示的值

    deprecated?: string | boolean

    标记属性是否已废弃

    disableVariableSetter?: boolean

    是否禁用变量绑定

    docs?: string

    帮助文档链接地址

    https://foo.bar/help
    
    getProp?: ((form: any) => Partial<Omit<IComponentProp<T>, "getProp">>)

    动态设置属性,覆盖已有的 prop 对象

    getSetterProps?: ((form: any) => T)

    动态设置传递给 setter 的属性

    请使用 getProp 代替

    getVisible?: ((form: any) => boolean)

    动态设置表单项是否展示

    group?:
        | "basic"
        | "event"
        | "style"
        | "data"
        | "advanced"

    属性的分组

    • basic 常用属性
    • style 样式属性
    • advanced 高级属性
    • event 事件属性
    • data 数据属性
    initValue?: any

    首次拖拽后用来初始化组件的属性值

    "str" 字符串
    
    1 数字
    
    "{() => {}}" 函数
    
    "{1}" 表达式
    
    "%random()%" 内置命令
    
    name: string

    属性名

    options?: IOptionItem<string>[]

    配置项的可选值,setterProps.options 的简写

    placeholder?: string

    输入提示

    props?: IComponentProp<any>[]

    如果是对象属性,这里声明子属性列表

    setter?: string

    设置器

    setterProps?: T

    传递给设置器的属性

    template?: string

    value 的模板,一般用于函数类型的属性,便于 setter 用来拼装返回值

    "(arg1, arg2, arg3) => {  {{content}}}"
    
    tip?: string

    属性提示信息

    title?: string

    属性中文名

    表单值校验逻辑