palantir/blueprint

MultiSelect2: createNewItemFromQuery is called redundantly

Open

#5,992 创建于 2023年3月2日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)TypeScript (20,263 star) (2,167 fork)batch import
P3Package: selectType: bughelp wanted

描述

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

  1. Open console panel
  2. "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?

贡献者指南