Merge pull request #453 from RickCole21/master

tree中操作tip可自定义、操作限制优化
This commit is contained in:
liaoxuezhi 2020-02-11 14:14:03 +08:00 committed by GitHub
commit edfed5492d
3 changed files with 31 additions and 11 deletions

View File

@ -67,15 +67,19 @@ interface TreeSelectorProps {
// 是否为内建 增、改、删。当有复杂表单的时候直接抛出去让外层能统一处理
bultinCUD?: boolean;
rootCreatable?: boolean;
rootCreateTip?: string;
creatable?: boolean;
createTip?: string;
onAdd?: (
idx?: number | Array<number>,
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') ? (
<a
onClick={this.handleAdd.bind(this, item)}
data-tooltip="添加孩子节点"
data-tooltip={createTip}
>
<Icon icon="plus" className="icon" />
</a>
@ -611,7 +622,7 @@ export class TreeSelector extends React.Component<
{removable && hasAbility(item, 'removable') ? (
<a
onClick={this.handleRemove.bind(this, item)}
data-tooltip="移除该节点"
data-tooltip={deleteTip}
>
<Icon icon="minus" className="icon" />
</a>
@ -620,7 +631,7 @@ export class TreeSelector extends React.Component<
{editable && hasAbility(item, 'editable') ? (
<a
onClick={this.handleEdit.bind(this, item)}
data-tooltip="编辑该节点"
data-tooltip={editTip}
>
<Icon icon="pencil" className="icon" />
</a>
@ -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)}
>
<Icon icon="plus" className="icon" />
<span></span>
<span>{rootCreateTip}</span>
</a>
);
}
@ -731,7 +743,7 @@ export class TreeSelector extends React.Component<
{creatable ? (
<a
onClick={this.handleAdd.bind(this, null)}
data-tooltip="添加一级节点"
data-tooltip={rootCreateTip}
>
<Icon icon="plus" className="icon" />
</a>

View File

@ -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}

View File

@ -59,13 +59,17 @@ export default class TreeControl extends React.Component<TreeProps> {
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<TreeProps> {
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}
/>