MultiSelect2: createNewItemFromQuery is called redundantly
#5992 opened on Mar 2, 2023
Description
As the documentation says, createNewItemFromQuery "invoked when user interaction causes one or many items to be created, either by pressing the Enter key or by clicking on the "Create Item" option". But in fact, the function is called once the MultiSelect2 component is initialized. Related code here: https://github.com/palantir/blueprint/blob/abd066f2e0221cb4c219004727a8ddba7c2b7d5b/packages/select/src/components/query-list/queryList.tsx#L211
Environment
- Package version(s): 4.9.3
- Operating System: Windows 11
- Browser name and version: Latest Chrome
Code Sandbox
Link to a minimal repro: https://codesandbox.io/s/nifty-hawking-oucqgc
Steps to reproduce
- Open console panel
- "createNewItemFromQuery is called!" is printed without any interactions.
Actual behavior
createNewItemFromQuery is called without user interactions.
Expected behavior
createNewItemFromQuery should be only invoked when user interaction causes one or many items to be created, either by pressing the Enter key or by clicking on the "Create Item" option.
Possible solution
Make the initial value of state.createNewItem to undefined?