Comments (12)
Possibly you have put
const data = {
name: 'root',
...
}
inside render method, so the data is being rewritten from scratch on every click.
from react-treebeard.
I think it's because React is not registering it as a state change and is not calling render() again.
Also, I think ideally onToggle should switch the node toggled state internally inside the Treebeard Component instead of you having to manually do it each time.
Try the following instead (I haven't actually tested this, as a fair warning):
class TreeExample extends React.Component {
constructor(props){
super(props);
this.state = {
data: props.data
};
this.onToggle = this.onToggle.bind(this);
}
onToggle(node, toggled){
if(this.state.cursor){this.state.cursor.active = false;}
node.active = true;
let new_data = this.state.data;
if(node.children){
node.toggled = toggled;
new_data = Object.assign({}, this.state.data);
}
this.setState({ cursor: node, data: new_data });
}
render(){
return (
<Treebeard
data={this.state.data}
onToggle={this.onToggle}
/>
);
}
}
from react-treebeard.
expand and collapse of parent node is not working
from react-treebeard.
There is an issue with the animations.
If you turn them off:
<Treebeard data={data} onToggle={this.onToggle} animation={false}/>
It works fine.
Maybe @MichaelDeBoey needs to double check the animation conditions in renderDrawer
from node.js
from react-treebeard.
from react-treebeard.
@maximilianoforlenza with #174 this issue is worse than before:
with this workaround here (animation == false
) it will not toggle at all, although working fine before
removing animations-flag will still not bring animations back.
from react-treebeard.
@maximilianoforlenza any news on this?
from react-treebeard.
No yet. I'll working on this today.
from react-treebeard.
@Waize please try this https://codesandbox.io/s/7jkkj5vkn1 (#209)
from react-treebeard.
from react-treebeard.
No, you should fork the project, back to version 2.1.1 fix it and use the forked version.
from react-treebeard.
If it's working https://codesandbox.io/s/7jkkj5vkn1 I close this issue @Waize
from react-treebeard.
Related Issues (20)
- Example doesn't work HOT 2
- Is it possible to change the Icon? HOT 1
- [Question] Is it possible to expand node without selecting it? HOT 15
- How to get name for parent node?
- Example code does not work as expected. Parent and child nodes all get highlighted when expanded
- How to handle right click events over folders and nodes (files)? HOT 4
- style object is mutated by a component it's passed to HOT 1
- its impossible to update treebeard from client side dynamically?
- How to Pass nodes in custom toggle decorater
- Performance for large numbers of files
- Update data when new file is added HOT 1
- Using array for multiple root nodes fails when interacting with tree (example included) HOT 3
- responsive
- Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of `VelocityTransitionGroup`. HOT 2
- Show buttons to the right when hovering on a node? HOT 1
- [Request] Do not show polygon if no children are provided.
- Dynamically add children through API
- [Question] Display more than the name HOT 1
- [Bug] Arrows in markdown are way off on the right HOT 1
- [Question] Remove onToggle from file nodes? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-treebeard.