Comments (3)
BTW @mrchief an option to add default values is really a good idea
I agree. And so here's what I propose:
- support an extra node prop called
defaultValue: bool
. - gather all defaultValue nodes while initial tree walking (one time calc, no overhead)
- On change, see if selected nodes is empty. If so, restore tree with default values.
- If no default values passed, do nothing
from react-dropdown-tree-select.
There are few ways you can go about this:
via css only:
Add a special class on the node and tag (className
, tagClassName
) and hide/disable the x button and checkbox (so it cannot be removed).
via events
The 2nd parameter to onChange
gives you all selected nodes. If this is empty, then you know your default has been cleared. In this case, you can reset the data to the tree with your default data which will re-add the pill. This can be managed by an HoC.
Other options (these may or may not work for you based on your exact requirements, so take it with a grain of salt):
-
Depending on how you're using this data, you can always pad it with defaults before uploading/sending the data upstream.
-
Use
disabled
property on thenode
. This will disable the checkbox. So if you passdisabled: true
andchecked: true
, it'll be selected and cannot be unset. They can still clear it using the tag's x button. @Gregcop1 should we be disabling the tag as well, in this case? -
Enhance the component to accept default values. This will need a PR and if you're open to this, we can discuss this separately.
from react-dropdown-tree-select.
IMHO, combining disabled
and checked
is not a good idea. As a user, if a node is disabled, I won't understand why is it set by default. If a tag is set by default and can't be removed, the node should not appear in the list.
The solution via CSS is good and pretty easy : .tag-item:first-child .tag-remove { display: none; }
but I'm not sure it fits to @amondragon. The default tag should be removable but set again if no other has been selected, isn't it? If so, the solution via events is the best.
BTW @mrchief an option to add default values is really a good idea
from react-dropdown-tree-select.
Related Issues (20)
- Unable to serve the cloned repository on local host so as to make changes
- React useState error
- The searchTerm in the searchPredicate function is never an empty string HOT 7
- Expand to selected item
- rtl support HOT 2
- By default the last child is focused and checked HOT 2
- SetState is not working on react-dropdown-tree-select HOT 2
- Issue when click item in long scrollable list HOT 3
- react-dropdown-tree-select - Get all selected values HOT 3
- Render calls reset the search filter on the list HOT 12
- ADA incompatibility HOT 1
- useState is not getting updated HOT 1
- I'm having the same problem where useState isn't working and if I use it, the checkbox values disappear. HOT 1
- Clicking on label for radioSelect doesn't select a node HOT 2
- Nodes expanded state are not updated when search HOT 1
- Close the selection menu HOT 1
- How can I remove the tags that appear when a node is selected in the dropdown? HOT 2
- Parent node displayed as checked despite receiving checked: false
- custom renderer for label
- Dealing with too many pills
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-dropdown-tree-select.