condition-editor
TypeScript icon, indicating that this package has built-in type declarations

0.0.9-beta.2 • Public • Published

condition-editor

NPM version NPM downloads

在线条件编辑器

Usage

安装

pnpm add condition-editor

## 或者

npm i condition-editor

组件配置项

ConditionEditorProps

属性 描述 类型 默认值 必须
disabled 禁用 boolean -
noCondContent 禁用或只读状态下,没有条件展示内容 ReactNode -
maxHeight 最大高度 string|number -
additionText 首层添加按钮文本 ReactNode "添加条件"
additionProps 首层添加按钮属性 ButtonProps -
relationText 条件关联关系文本,对应[RelationType.AND, RelationType.OR]的展示文案 ReactNode[] ['并且','或者']
levelText 条件级别关系文本,对应[LevelType.Before, LevelType.After, LevelType.Child, LevelType.BeforeParent, LevelType.AfterParent]的展示文案 ReactNode[] ['在上方插入条件','在下方插入条件','插入子级条件','在父级上方插入条件','在父级下方插入条件']
onBeforeAddition 新增条件前触发回调,可用于自定义新增项 onBeforeAddition -
onAddition 新增条件后触发回调 onAddition -
onBeforeDelete 删除条件前触发回调,返回false可用于取消删除 onBeforeDelete -
onDelete 删除条件触发回调 onDelete -
renderCondPrefix 自定义渲染条件前缀文案,默认是 RenderCondFn -
renderCondField 自定义渲染过滤字段 RenderCondFn -
renderCondOperator 自定义渲染关联词字段 RenderCondFn -
renderCondActions 自定义渲染条件操作 RenderCondActionFn -
operators 自定义关联词可选项 OptionItem[] -
renderCondValue 自定义渲染过滤值 RenderCondFn -
renderCondExtra 自定义渲染条件后缀文案,默认是 RenderCondFn -

除上述属性外,组件还支持 Antd - CarddefaultValueonChange外的其他属性来扩展配置外层容器。

onDelete

属性 描述 类型 默认值 必须
group ConditionGroupInfo -
key string -
type NodeType -
-- 返回值 void -

onBeforeDelete

属性 描述 类型 默认值 必须
group ConditionGroupInfo -
info info -
type NodeType -
-- 返回值 Promise<boolean>|boolean|void -

info

属性 描述 类型 默认值 必须
key string -
index number -

onAddition

属性 描述 类型 默认值 必须
group ConditionGroupInfo -
key string -
type LevelType -
node ConditionNodeInfo -
-- 返回值 void -

onBeforeAddition

属性 描述 类型 默认值 必须
group ConditionGroupInfo -
key string -
type LevelType -
-- 返回值 Promise<NodeData | false> | NodeData | false -

RenderCondActionFn

属性 描述 类型 默认值 必须
defaultDom JSX.Element[] -
info info -
actions ConditionActionType -
-- 返回值 JSX.Element[] -

info

属性 描述 类型 默认值 必须
node ConditionNodeInfo -
data ConditionNodeData -
actionClassName string -

ConditionActionType

属性 描述 类型 默认值 必须
add 添加条件项 add -
delete 删除条件项 delete -

delete

属性 描述 类型 默认值 必须
-- 返回值 void -

add

属性 描述 类型 默认值 必须
type LevelType -
defaultData ConditionNodeData -
-- 返回值 void -

RenderCondFn

属性 描述 类型 默认值 必须
info info -
onChange onChange -
-- 返回值 ReactNode -

onChange

属性 描述 类型 默认值 必须
data ConditionNodeData -
-- 返回值 void -

info

属性 描述 类型 默认值 必须
node ConditionNodeInfo -
data ConditionNodeData -
disabled boolean -

ConditionItemProps

属性 描述 类型 默认值 必须
actionRef 初始化操作 React.MutableRefObject| -
onAdd 新增节点点击触发 onAdd -
onDelete 删除节点点击触发 onDelete -

onDelete

属性 描述 类型 默认值 必须
key string -
-- 返回值 void -

onAdd

属性 描述 类型 默认值 必须
key string -
type LevelType -
defaultData ConditionNodeData -
-- 返回值 void -

ConditionGroupInfo

属性 描述 类型 默认值 必须
key string -
description string -
type NodeType.Group -
data ConditionGroupData -
children [] -

ConditionNodeInfo

属性 描述 类型 默认值 必须
key string -
description string -
type NodeType.Item -
data ConditionNodeData -

ConditionGroupData

属性 描述 类型 默认值 必须
relation RelationType -

ConditionNodeData

属性 描述 类型 默认值 必须
field string -
operator string -
value any -
valueType string -

OptionItem

属性 描述 类型 默认值 必须
label 选项文本 React.ReactNode -
value 选项值 string -
disabled 禁选 boolean -
data 其他属性 any -

ENUM LevelType

枚举项 描述 枚举值
LevelType.Before 在上方插入条件 before
LevelType.After 在下方插入条件 after
LevelType.Child 插入子级条件 child
LevelType.BeforeParent 在父级上方插入条件 beforeParent
LevelType.AfterParent 在父级下方插入条件 afterParent

ENUM NodeType

枚举项 描述 枚举值
NodeType.Item 条件项类别 item
NodeType.Group 条件组类别 group

ENUM RelationType

枚举项 描述 枚举值
RelationType.AND 并且 and
RelationType.OR 或者 or

支持功能

  • √ 支持层级创建条件
  • √ 支持 TypeScript
  • √ 支持自定义条件各个部分内容
  • √ 支持监听条件新增前后、删除前后事件
  • √ 支持空结果
  • √ 支持只读(结合描述)
  • √ 支持自定义条件项按钮
  • √ 支持 Antd 框架
  • √ 支持组件文案扩展
  • √ 支持追加到节点前,节点后
  • √ 支持创建父级的兄弟节点
  • [x] 支持条件字段验证
  • [x] 支持条件组删除
  • [x] 支持同层级拖拽
  • [x] 支持多套框架(Antd-VueReact-Vant 等)

LICENSE

MIT

Package Sidebar

Install

npm i condition-editor

Weekly Downloads

0

Version

0.0.9-beta.2

License

MIT

Unpacked Size

109 kB

Total Files

29

Last publish

Collaborators

  • char-big-bear