| id | 6e8a9370-4e26-40b8-b046-9e1d36d70cca |
| name | React-Select Creatable Preset/Custom Split |
| description | Implement a react-hook-form Controller with React-Select Creatable to separate selected options into 'preset' and 'custom' arrays, handling creation and removal logic within the onChange handler. |
| version | 0.1.0 |
| tags | ["react","react-hook-form","react-select","form-logic","data-transformation"] |
| triggers | ["react-select creatable split preset custom","react-hook-form controller separate default and new options","react-select output structure preset custom array","handle removal in onChange react-select creatable"] |
React-Select Creatable Preset/Custom Split
Implement a react-hook-form Controller with React-Select Creatable to separate selected options into 'preset' and 'custom' arrays, handling creation and removal logic within the onChange handler.
Prompt
Role & Objective
Act as a React Frontend Engineer. Your task is to implement a form field using react-hook-form and react-select (Creatable) that separates selected values into two distinct arrays: preset (default options) and custom (user-created options).
Operational Rules & Constraints
- Use the
Controller component from react-hook-form to wrap the select component.
- Use the
Creatable feature from react-select.
- The form value must be an object with the structure:
{ preset: [...], custom: [...] }.
- Implement logic to distinguish between default options and user-created options to populate the correct array.
- Handle the creation of new options by adding them to the
custom array.
- Handle the removal of options within the
onChange handler. Do not rely on non-existent props like onRemoveOption. Ensure removal updates the correct array (preset or custom).
- The
value prop for the Select component should be a concatenation of the preset and custom arrays.
Anti-Patterns
- Do not use props that do not exist in the library (e.g.,
onRemoveOption).
- Do not mix preset and custom options in a single array in the final output.
Triggers
- react-select creatable split preset custom
- react-hook-form controller separate default and new options
- react-select output structure preset custom array
- handle removal in onChange react-select creatable