rkit / react-select2-wrapper

Wrapper for Select2
MIT License
163 stars 97 forks source link

Fix allowClear option [Closes #63] #65

Closed jordanbyron closed 7 years ago

jordanbyron commented 7 years ago

When the allowClear option is enabled and that same component has a onChange callback, clicking the clear icon will cause an infinite loop. The root cause seems to be thatthis.el.val() returns null when previously set to an empty string, which is what happens when the input is cleared. As expected shallowEqualFuzzy returns false when comparing null to '' which causes an infinite onChange callback loop.

The new fuzzyValuesEqual method returns true when currentValue is null and newValue is equal to an empty string, otherwise it calls shallowEqualFuzzy which was the previous behavior.

I've also updated the examples with a select2 component set to allowClear which can be used to manually test the new behavior. Let me know if there is anything you'd like me to change. Thanks! 😄

rkit commented 7 years ago

Thanks!

rkit commented 7 years ago

I released a new beta version 1.0.4-beta3