登录
文档目录
图片名称

属性栏配置

2025-04-15 00:10:11(最后一次修改:2025-04-15 00:11:06)

属性栏配置的价值在于简化属性的外在表现,隐藏输入组件的实现逻辑。

类型定义

/**
 * 属性面板的配置,包含多个属性的配置以及
 * 一些整体的配置
 */
export interface PanelConfig {
  //分组信息
  groups?: GroupInfo[];

  //必填属性code列表
  required: string[];

  //隐藏标题的属性code列表。注意:不设置属性title也可以达到此效果
  hiddenTitle?: string[];

  //属性信息
  properties: PropertySchema[];

  //事件订阅,各种回调函数
  subscriptions: PropertySubscription;
}

代码演示

import { PanelConfig } from 'cloudpivot-designer/property-panel';
import { DataItemType } from 'cloudpivot-form/form/schema';
import { verifyVariableInRule } from '../property-component-modal/scripts/verify-variable-in-rule';

const panelRuleProperty: PanelConfig = {
  groups: [
    {
      value: 'base',
      label: '基础属性',
      keys: ['modelName', 'code', 'name', 'remarks', 'ruleVariable'],
    },
  ],

  required: ['code', 'name'],

  properties: [
    {
      title: '触发模型',
      code: 'modelName',
      inputComponentName: 'property-text-input',
      options: {
        disabled: true,
      },
    },
    {
      title: '规则编码',
      code: 'code',
      inputComponentName: 'property-text-input',
      getRequiredErrorMessage: () => {
        return '业务规则编码不能为空!';
      },
      options: {
        disabled: (businessContext: any, propertiesData: any) => {
          //节点使用edit辨别是否保存过,规则使用id
          return !!propertiesData.id;
        },
      },
    },
    {
      title: '规则名称',
      code: 'name',
      inputComponentName: 'property-text-input',
      getRequiredErrorMessage: () => {
        return '业务规则名称不能为空!';
      },
      options: {
        maxLength: 50,
      },
    },
    {
      title: '规则描述',
      code: 'remarks',
      inputComponentName: 'property-text-area',
      options: {
        maxLength: 100,
      },
    },
    {
      title: '规则变量',
      code: 'ruleVariable',
      inputComponentName: 'property-modal',
      showDeleteConfirm: (variableList) => {
        return verifyVariableInRule([], false).then((verifyResult) => {
          return !verifyResult;
        });
      },
      confirmText: '规则变量已在规则中使用,请谨慎删除',
      options: {
        modalName: 'rule-variable-modal',
        tips: '如同表单字段,可以存放某个动作节点运行结果,可用于后续的判断、赋值。业务规则运行结束后,变量值会被清空重置',
        defaultValue: [],
      },
    },
  ],

  subscriptions: {
    onPropertyChange(
      code,
      value,
      oldValue,
      propertiesData,
      propertyControllerMap,
      businessContext,
    ) {
      if (code === 'ruleVariable') {
        verifyVariableInRule(value);
      }
    },
  },
};

export default panelRuleProperty;


  • 没有用(0

本文链接:https://open.hetusaas.com/?id=43

图片名称

网友评论

图片名称