Comments (6)
This is because Picky maintains an internal state, it's more trouble than it's worth. I'm going to work on a major release making Picky a controlled component only, I can't think of any value it provides being an uncontrolled component, and it causes bugs like this when props and state get out of sync.
from react-picky.
Yea I observed this too and i did make a hack fix (I can share it here, if you guys want it) for this but i cant solve it for SELECT ALL case
-> When you do a select all in one picky and then update the state from the outside
-> Lets assume only 4 out of 10 elements are now selected
-> IF you try to select 5th element, all the elements get selected.
Anyways thats awesome if you releasing a controlled component only one.
from react-picky.
I think I get what you mean. Though it might be an issue with your state, not Picky. If you're modifying the value externally, that state is the single source of truth for Picky.
See: https://codesandbox.io/s/747z71zpxj
I check to see if the item exists before adding it.
If I'm not quite on the same wavelength as you two, can you provide a simple CodeSandbox so I can investigate?
Thanks :)
from react-picky.
@Aidurber Yea you're on the same track but mine was a different use case. I retried the steps and i think its been fixed in the v4.0.1. The steps to reproduce is-
- Select All Elements
- Click on Add Button (only item3 and item4 are selected)
- Select options that are not selected (ex: item 5)
- v3.0.2 all elements get selected instead of just one (item 5)
v4.0.1
https://codesandbox.io/s/j4j0j933lv
v.3.0.2
https://codesandbox.io/s/w6yp3x159l
Thanks for looking into this 🎉
from react-picky.
@karankumar89 Ahhh I see! Thanks for the reproduction steps.
I'll take a look tomorrow some time.
from react-picky.
@karankumar89 @arun567 Closing this. In the codesandboxes they were using React 16.0.0. The library depends on > 16.3.0
See #92 (comment)
Unable to replicate any of the above issues on the new 4.1.1 release with React > 16.3.0
from react-picky.
Related Issues (20)
- Can we do groupBy feature using react-picky? HOT 2
- How to implement lazy load and windowing with react-picky? HOT 1
- Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined HOT 10
- Picky Dropdown retains the filtered list when re-opened. HOT 2
- class `picky_placeholder` is not set
- Creatable picky HOT 1
- Check "Select All" By Default in Picky HOT 2
- Is it possible to style content in the placeholder area HOT 1
- filter search box should trim spaces before and after content HOT 1
- Unable to load picky.css HOT 1
- class `picky_placeholder` is reversed from version 4.x HOT 1
- Picky 6 HOT 2
- RenderList can have it's own isSelected function based on allSelected state HOT 1
- Would like to have a singleSelectedPlaceholder HOT 2
- Picky is focused twice when navigating using tab button. HOT 1
- maxLength on filter input HOT 3
- Is it possible to close the dropdown after selection if using a single select HOT 2
- [Feature Request]: Sort the selected option to top
- IE11 isn't working in latest version of Picky HOT 2
- Problem with counter of chosen items
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-picky.