salesforce / design-system-react

Salesforce Lightning Design System for React
https://design-system-react-site.herokuapp.com/
BSD 3-Clause "New" or "Revised" License
913 stars 415 forks source link

Node Item lost its own state when the tree get focused for the first time #3081

Open lyy011lyy opened 1 year ago

lyy011lyy commented 1 year ago

In our project, the Tree node item has its own icon and status to show a dropdown menu . When user hover the node, the icon shows up and when user click it, it will show the dropdown menu.

But we found that when user click the icon for the first time, the whole tree will refresh itself, and the hover icon will disappear. And user will have to move the mouse out and back to click the icon again to make the dropdown show up. sldstree refresh

We have tried to set the onClick method to prevent the selection event propagating but it doesn't work... After debugging, we found the first click trigger the [handleSelect](https://github.com/salesforce/design-system-react/blob/master/components/tree/index.jsx#L205) event of the tree. But it's weird that the event type is onFocus while the property fromFocus is undefined.

Screen Shot 2022-11-21 at 2 52 46 PM

So we are thinking can we introduce a new property to prevent or configure the onFocus event so that the tree will not refresh. This will help a lot on some complicated tree, whose tree item has its own status.

Thanks!

welcome[bot] commented 1 year ago

Thanks for opening your first issue! :wave: If you have found this library helpful, please star it. A maintainer will try to respond within 7 days. If you haven’t heard anything by then, please bump this thread.

lyy011lyy commented 1 year ago

Draft PR created (#3083), and I want to discuss on it first, especially whether this is a good way to realize If the idea is ok, I will follow the instructions to finish the PR. Thanks!