From 1234ff65deaee019f4edacea39bd8ae01b6c17ce Mon Sep 17 00:00:00 2001 From: rickcole Date: Tue, 11 Feb 2020 13:47:24 +0800 Subject: [PATCH] =?UTF-8?q?tree=E4=B8=AD=E6=93=8D=E4=BD=9Ctip=E5=8F=AF?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E3=80=81=E6=93=8D=E4=BD=9C=E9=99=90?= =?UTF-8?q?=E5=88=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Tree.tsx | 26 +++++++++++++++++++------- src/renderers/Form/Options.tsx | 6 +++--- src/renderers/Form/Tree.tsx | 10 +++++++++- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/components/Tree.tsx b/src/components/Tree.tsx index 56909526..b0d342f2 100644 --- a/src/components/Tree.tsx +++ b/src/components/Tree.tsx @@ -67,15 +67,19 @@ interface TreeSelectorProps { // 是否为内建 增、改、删。当有复杂表单的时候直接抛出去让外层能统一处理 bultinCUD?: boolean; rootCreatable?: boolean; + rootCreateTip?: string; creatable?: boolean; + createTip?: string; onAdd?: ( idx?: number | Array, value?: any, skipForm?: boolean ) => void; editable?: boolean; + editTip?: string; onEdit?: (value: Option, origin?: Option, skipForm?: boolean) => void; removable?: boolean; + deleteTip?: string; onDelete?: (value: Option) => void; } @@ -116,7 +120,11 @@ export class TreeSelector extends React.Component< rootLabel: '顶级', rootValue: 0, cascade: false, - selfDisabledAffectChildren: true + selfDisabledAffectChildren: true, + rootCreateTip: '添加一级节点', + createTip: '添加孩子节点', + editTip: '编辑该节点', + deleteTip: '移除该节点' }; componentWillMount() { @@ -466,7 +474,10 @@ export class TreeSelector extends React.Component< minLength, creatable, editable, - removable + removable, + createTip, + editTip, + deleteTip } = this.props; const { unfolded, @@ -602,7 +613,7 @@ export class TreeSelector extends React.Component< {creatable && hasAbility(item, 'creatable') ? ( @@ -611,7 +622,7 @@ export class TreeSelector extends React.Component< {removable && hasAbility(item, 'removable') ? ( @@ -620,7 +631,7 @@ export class TreeSelector extends React.Component< {editable && hasAbility(item, 'editable') ? ( @@ -676,6 +687,7 @@ export class TreeSelector extends React.Component< classnames: cx, creatable, rootCreatable, + rootCreateTip, disabled } = this.props; let options = this.props.options; @@ -692,7 +704,7 @@ export class TreeSelector extends React.Component< onClick={this.handleAdd.bind(this, null)} > - 添加一级节点 + {rootCreateTip} ); } @@ -731,7 +743,7 @@ export class TreeSelector extends React.Component< {creatable ? ( diff --git a/src/renderers/Form/Options.tsx b/src/renderers/Form/Options.tsx index 66ce5bd5..5aeedba6 100644 --- a/src/renderers/Form/Options.tsx +++ b/src/renderers/Form/Options.tsx @@ -774,9 +774,9 @@ export function registerOptionsControl(config: OptionsConfig) { setOptions={this.setOptions} syncOptions={this.syncOptions} reloadOptions={this.reload} - creatable={creatable || isEffectiveApi(addApi)} - editable={editable || isEffectiveApi(editApi)} - removable={removable || isEffectiveApi(deleteApi)} + creatable={creatable || creatable !== false && isEffectiveApi(addApi)} + editable={editable || editable !== false && isEffectiveApi(editApi)} + removable={removable || removable !== false && isEffectiveApi(deleteApi)} onAdd={this.handleOptionAdd} onEdit={this.handleOptionEdit} onDelete={this.handleOptionDelete} diff --git a/src/renderers/Form/Tree.tsx b/src/renderers/Form/Tree.tsx index b3566707..38af8a17 100644 --- a/src/renderers/Form/Tree.tsx +++ b/src/renderers/Form/Tree.tsx @@ -59,13 +59,17 @@ export default class TreeControl extends React.Component { showRadio, onAdd, creatable, + createTip, addControls, onEdit, editable, + editTip, editControls, removable, + deleteTip, onDelete, - rootCreatable + rootCreatable, + rootCreateTip } = this.props; return ( @@ -99,10 +103,14 @@ export default class TreeControl extends React.Component { selfDisabledAffectChildren={false} onAdd={onAdd} creatable={creatable} + createTip={createTip} rootCreatable={rootCreatable} + rootCreateTip={rootCreateTip} onEdit={onEdit} editable={editable} + editTip={editTip} removable={removable} + deleteTip={deleteTip} onDelete={onDelete} bultinCUD={!addControls && !editControls} />