Skip to content

自定义属性

通过自定义属性可以实现一些针对业务逻辑处理生成规则的扩展

内置的自定义属性

教程

  1. 定义一个自定义属性扩展
js
const optionEffect = {
    //自定义属性的名称
    name: 'option',
    //属性绑定的组件,不设置或者'*'默认为全部组件
    components: '*',
    //rule初始化
    init({value}, rule, fapi) {
    },
    //rule开始加载
    load({value}, rule, fapi) {
    },
    //rule初始化完
    created({value}, rule, fapi) {
    },
    //rule加载完成
    loaded({value}, rule, fapi) {
    },
    //属性值发生变化
    watch({value}, rule, fapi) {
    },
    //组件的值发生变化
    value({value}, rule, fapi) {
    },
    //control 生效
    control({value}, rule, fapi) {
    },
    //rule 移除
    deleted({value}, rule, fapi) {
    },
    //rule 生成
    mounted({value}, rule, fapi) {
    }
}
const optionEffect = {
    //自定义属性的名称
    name: 'option',
    //属性绑定的组件,不设置或者'*'默认为全部组件
    components: '*',
    //rule初始化
    init({value}, rule, fapi) {
    },
    //rule开始加载
    load({value}, rule, fapi) {
    },
    //rule初始化完
    created({value}, rule, fapi) {
    },
    //rule加载完成
    loaded({value}, rule, fapi) {
    },
    //属性值发生变化
    watch({value}, rule, fapi) {
    },
    //组件的值发生变化
    value({value}, rule, fapi) {
    },
    //control 生效
    control({value}, rule, fapi) {
    },
    //rule 移除
    deleted({value}, rule, fapi) {
    },
    //rule 生成
    mounted({value}, rule, fapi) {
    }
}
  1. 挂载自定义属性
js
formCreate.register(optionEffect)
formCreate.register(optionEffect)
  1. 在规则中使用自定义属性
js
{
    type:'...',
    effect:{
        //option 是自定义的属性名称
        option:'any'
    }
    //...
}
//或者
{
    type:'...',
    //option 是自定义的属性名称
    $option:'any'
    //...
}
{
    type:'...',
    effect:{
        //option 是自定义的属性名称
        option:'any'
    }
    //...
}
//或者
{
    type:'...',
    //option 是自定义的属性名称
    $option:'any'
    //...
}

示例

自动设置组件的 options

监听组件value变化

监听自定义属性变化

Released under the MIT License.