Skip to content

Commit 855f938

Browse files
committed
feat: support renderNodeActions
1 parent 5602315 commit 855f938

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

src/components/Tree/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ export default defineComponent({
272272
return () => {
273273
const renderNodeKey = props.renderNodeKey ?? slots.renderNodeKey;
274274
const renderNodeValue = props.renderNodeValue ?? slots.renderNodeValue;
275-
const renderNodeActions = props.renderNodeActions || slots.renderNodeActions || false;
275+
const renderNodeActions = props.renderNodeActions ?? slots.renderNodeActions ?? false;
276276

277277
const nodeContent =
278278
state.visibleData &&

src/components/TreeNode/index.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export const treeNodePropsPass = {
4949
type: [Boolean, Function] as PropType<
5050
boolean | ((opt: { node: NodeDataType; defaultActions: { copy: () => void } }) => unknown)
5151
>,
52-
default: false,
52+
default: undefined,
5353
},
5454
// Define the selection method supported by the data level, which is not available by default.
5555
selectableType: String as PropType<'multiple' | 'single' | ''>,
@@ -248,14 +248,13 @@ export default defineComponent({
248248

249249
const renderNodeActions = () => {
250250
const render = props.renderNodeActions;
251-
if (render === false) return null;
252-
else if (render === true) return <span onClick={handleCopy} class="vjs-tree-node-actions-item">copy</span>;
251+
if (!render) return null;
253252
const defaultActions = {
254253
copy: handleCopy,
255254
};
256-
return render
255+
return typeof render === 'function'
257256
? render({ node: props.node, defaultActions })
258-
: null;
257+
: <span onClick={handleCopy} class="vjs-tree-node-actions-item">copy</span>;
259258
};
260259

261260
return () => {
@@ -352,7 +351,7 @@ export default defineComponent({
352351
)}
353352
</span>
354353

355-
{props.renderNodeActions !== false && (
354+
{props.renderNodeActions && (
356355
<span class="vjs-tree-node-actions">
357356
{ renderNodeActions() }
358357
</span>

0 commit comments

Comments
 (0)