sanusart / react-dropdown-select

Customisable dropdown select for react
https://react-dropdown-select.netlify.app/
MIT License
352 stars 82 forks source link

Changing state does not change selected value in dropdown #318

Closed mfzha closed 3 weeks ago

mfzha commented 3 weeks ago
const [something, setSomething] = useState({
  name: [],
  score: ""
});

const reset = () => {
  setSomething({
    name: [],
    score: ""
};

return(
  <>
    <button onClick={() => reset()}> Reset </button>
    <form onSubmit={doSomething}>
      <Select
        options={persons} // [{"name": "A", "id": 1}, ...]
        labelField="name"
        valueField="id"
        values={[...state.name]}
        onChange={(value) => {
          setSomething({...state, name: value.name})
        }}
      />
    </form>
  </>
);

Then calling reset() will reset something but the selected value will not revert to the default Select... placeholder.

This is after following https://github.com/sanusart/react-dropdown-select/blob/master/docs/src/examples/ExternalClear.js but making it functional.

sanusart commented 3 weeks ago

Your values and onChange does not look right.

Can you reproduce in code sandbox?

On Sat, 24 Aug 2024 at 11:03 AM Michael Zhao @.***> wrote:

const [something, setSomething] = useState({ name: [], score: "" });

const reset = () => { setSomething({ name: [], score: "" };

return( <> <button onClick={() => reset()}> Reset