Open cemreyavuz opened 4 years ago
What exactly is the problem in your code sandbox? It seems like the query prop control is working as intended.
I briefly traced through the rendering stack of Select / QueryList and it looks like listProps.query
is being set to QueryList's state.query
(which is kept up to date via QueryList's componentDidUpdate
) here:
... which means we achieve the same effect as referencing this.props.query
as you've suggested.
are you able to produce a failing unit test you could perhaps work with?
@adidahiya in the screencast attached, there should not be any other values in the input other than "constant query" after changing event
@nickensoul does #4363 fix the issue from your screen recording?
Environment
Code Sandbox
https://codesandbox.io/s/select-component-doesnt-respect-query-prop-dlih7
Steps to reproduce
Actual behavior
Text input is updated.
Expected behavior
As mentioned in the documentation of Select component, the expected behavior is that the text input is not changed and controlled via query prop.
Possible solution
Updating line 134 in
select.tsx
from:to this:
solves the problem. It seems like the query prop is never directly passed to the input group. QueryList component is the one who controls the query of InputGroup in Select component. It initializes its internal query state with the query prop, but from that point onward, it doesn't respect the query prop of Select component and send its internal state to InputGroup.