README
规则树
@aligov/gov-rule-tree
规则树组件,严重依赖于@alipay/tech-ui,源码版本:0.1.4。
API
RuleTree
该组件用于复杂规则场景。
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
value | 规则编辑器初始值,组件认为 value 不为 undefined 时代表初始值 | {relation: string; children: [...], [key: string]: any} |
- |
onChange | 规则编辑器值变化回调, | (value: {relation: string; children: [...], [key: string]: any}) => void |
- |
fields | 每一行表达式的配置 | {id: string; rules: Rule[]; element: ReactElement; render: (ctx) => ReactElement} |
- |
disabled | 禁用模式/查看模式 | boolean |
false |
rootRelations | 根节点下拉选择项 | {text: string, value: string}[] |
[{text: 'And', value: 'and'}, {text: 'Or', value: 'or'}] |
relations | 非根节点下拉选择项 | {text: string, value: string}[] |
[{text: 'And', value: 'and'}, {text: 'Or', value: 'or'}] |
cascades | 会产生级联的field id |
string[] |
- |
onCascade | 级联回调 | (ctx: {setValues, getValue}) => void |
- |
canAddCondition | 是否可以添加条件 | (data: {level: number, ...}) => boolean |
true |
canAddConditionGroup | 是否可以添加条件组 | (data: {level: number, ...}) => boolean |
true |
children | 返回外部拖拽元素 | (dragItem: DragItem) => React.ReactFragment |
- |
DragItem
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
beginDrag | 开始拖拽时的回调 | (dragItem: DragItem) => void |
- |
endDrop | 放置成功后的回调 | (dropProps: DropProps) => void |
- |
type | 拖拽系统的共用标识 | string |
- |
$dragItem | 是否为外部拖拽元素 | boolean |
true |
Field
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
id | 一行表单元素中对应的单个表单元素 id | string |
- |
render | 表单元素渲染 | (ctx: {setValues, getValue}) => ReactElement |
- |
rules | 校验规则, 请参考 async-validator | Rule[] |
- |
- setValues 支持
(string, any) => void
或(Record<string, any>) => void
- getValue 支持
(string) => any