fix: Sync display name in TemplateSearchPicker when initialName changes
This commit is contained in:
@@ -20,14 +20,13 @@ interface TemplateSearchPickerProps {
|
|||||||
*/
|
*/
|
||||||
export function TemplateSearchPicker({value, initialName, onChange}: TemplateSearchPickerProps) {
|
export function TemplateSearchPicker({value, initialName, onChange}: TemplateSearchPickerProps) {
|
||||||
const [query, setQuery] = useState(initialName ?? '');
|
const [query, setQuery] = useState(initialName ?? '');
|
||||||
|
const [prevInitialName, setPrevInitialName] = useState(initialName);
|
||||||
const [debouncedQuery, setDebouncedQuery] = useState('');
|
const [debouncedQuery, setDebouncedQuery] = useState('');
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
||||||
const prevInitialName = useRef(initialName);
|
|
||||||
|
|
||||||
// Sync display name when initialName changes (e.g. dialog re-opens with a different selection)
|
if (initialName !== prevInitialName) {
|
||||||
if (initialName !== prevInitialName.current) {
|
setPrevInitialName(initialName);
|
||||||
prevInitialName.current = initialName;
|
|
||||||
setQuery(initialName ?? '');
|
setQuery(initialName ?? '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user