Not working under `Next.js`
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 30/100
Direção de pesquisa
Comece reproduzindo o exemplo fornecido em um projeto Next.js e execute a página em um navegador, verificando as interações da árvore. Está concluído quando a árvore é renderizada corretamente e responde às interações de expandir, selecionar, marcar, editar, excluir e rolar.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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;
- Linguagem predominante
- TypeScript
- Estrelas
- 1.3k
- Forks
- 490
- Merge médio
- 3d 17h
- PRs com merge (30d)
- 5
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de react-component/tree
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 55/100
react-component/tree#1068 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
react-component/tree#983 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
react-component/tree#937 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
react-component/tree#935 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
react-component/tree#929 ·
Todas as issues de react-component/tree
Issues semelhantes
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
-
Mend: dependency security vulnerability untriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100