Not working under `Next.js`
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 30/100
Piste de recherche
Commencez par reproduire l’exemple fourni dans un projet Next.js et exécutez la page dans un navigateur, en vérifiant les interactions de l’arbre. C’est terminé lorsque l’arbre est rendu correctement et répond à ses interactions d’extension, de sélection, de case à cocher, de modification, de suppression et de défilement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Paste the example into a Next.js project, and run this page in the browser, it could render the tree correctly but no interactions at all.
/* eslint-disable no-alert, no-console, react/no-find-dom-node */
import React from 'react';
import '../../assets/index.less';
import './basic.less';
import Tree, { TreeNode } from 'rc-tree';
const treeData = [
{
key: '0-0',
title: 'parent 1',
children: [
{ key: '0-0-0', title: 'parent 1-1', children: [{ key: '0-0-0-0', title: 'parent 1-1-0' }] },
{
key: '0-0-1',
title: 'parent 1-2',
children: [
{ key: '0-0-1-0', title: 'parent 1-2-0', disableCheckbox: true },
{ key: '0-0-1-1', title: 'parent 1-2-1' },
{ key: '0-0-1-2', title: 'parent 1-2-2' },
{ key: '0-0-1-3', title: 'parent 1-2-3' },
{ key: '0-0-1-4', title: 'parent 1-2-4' },
{ key: '0-0-1-5', title: 'parent 1-2-5' },
{ key: '0-0-1-6', title: 'parent 1-2-6' },
{ key: '0-0-1-7', title: 'parent 1-2-7' },
{ key: '0-0-1-8', title: 'parent 1-2-8' },
{ key: '0-0-1-9', title: 'parent 1-2-9' },
{ key: 1128, title: 1128 },
],
},
],
},
];
class Demo extends React.Component {
static defaultProps = {
keys: ['0-0-0-0'],
};
constructor(props) {
super(props);
const { keys } = props;
this.state = {
defaultExpandedKeys: keys,
defaultSelectedKeys: keys,
defaultCheckedKeys: keys,
};
this.treeRef = React.createRef();
}
onExpand = expandedKeys => {
console.log('onExpand', expandedKeys);
};
onSelect = (selectedKeys, info) => {
console.log('selected', selectedKeys, info);
this.selKey = info.node.props.eventKey;
};
onCheck = (checkedKeys, info) => {
console.log('onCheck', checkedKeys, info);
};
onEdit = () => {
setTimeout(() => {
console.log('current key: ', this.selKey);
}, 0);
};
onDel = e => {
if (!window.confirm('sure to delete?')) {
return;
}
e.stopPropagation();
};
setTreeRef = tree => {
this.tree = tree;
};
render() {
const customLabel = (
<span className="cus-label">
<span>operations: </span>
<span style={{ color: 'blue' }} onClick={this.onEdit}>
Edit
</span>
<label onClick={e => e.stopPropagation()}>
<input type="checkbox" /> checked
</label>
<span style={{ color: '#EB0000' }} onClick={this.onDel}>
Delete
</span>
</span>
);
return (
<div style={{ margin: '0 20px' }}>
<h2>simple</h2>
<input aria-label="good" />
<Tree
ref={this.setTreeRef}
className="myCls"
showLine
checkable
defaultExpandAll
defaultExpandedKeys={this.state.defaultExpandedKeys}
onExpand={this.onExpand}
defaultSelectedKeys={this.state.defaultSelectedKeys}
defaultCheckedKeys={this.state.defaultCheckedKeys}
onSelect={this.onSelect}
onCheck={this.onCheck}
onActiveChange={key => console.log('Active:', key)}
>
<TreeNode title="parent 1" key="0-0">
<TreeNode title={customLabel} key="0-0-0">
<TreeNode title="leaf" key="0-0-0-0" style={{ background: 'rgba(255, 0, 0, 0.1)' }} />
<TreeNode title="leaf" key="0-0-0-1" />
</TreeNode>
<TreeNode title="parent 1-1" key="0-0-1">
<TreeNode title="parent 1-1-0" key="0-0-1-0" disableCheckbox />
<TreeNode title="parent 1-1-1" key="0-0-1-1" />
</TreeNode>
<TreeNode title="parent 1-2" key="0-0-2" disabled>
<TreeNode title="parent 1-2-0" key="0-0-2-0" checkable={false} />
<TreeNode title="parent 1-2-1" key="0-0-2-1" />
</TreeNode>
</TreeNode>
</Tree>
<h2>Check on Click TreeNode</h2>
<Tree
className="myCls"
showLine
checkable
selectable={false}
defaultExpandAll
onExpand={this.onExpand}
defaultSelectedKeys={this.state.defaultSelectedKeys}
defaultCheckedKeys={this.state.defaultCheckedKeys}
onSelect={this.onSelect}
onCheck={this.onCheck}
treeData={treeData}
/>
<h2>Select</h2>
<Tree
ref={this.treeRef}
className="myCls"
defaultExpandAll
treeData={treeData}
onSelect={this.onSelect}
height={150}
/>
<button
type="button"
onClick={() => {
setTimeout(() => {
console.log('scroll!!!');
this.treeRef.current.scrollTo({ key: '0-0-1-9' });
}, 100);
}}
>
Scroll Last
</button>
</div>
);
}
}
export default Demo;
- Langage dominant
- TypeScript
- Étoiles
- 1.3k
- Forks
- 490
- Merge moyen
- 3 j 17 h
- PR mergées (30 j)
- 5
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de react-component/tree
-
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
react-component/tree#1068 · 1 commentaire ·
-
可以新增一个属性来控制节点上是否需要展示这个title吗? Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
react-component/tree#983 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
react-component/tree#937 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
react-component/tree#935 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
react-component/tree#929 ·
Toutes les issues de react-component/tree
Issues similaires
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Mend: dependency security vulnerability untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100