fix(core): linked doc named input box has excessive desire to select all (#8861)

Fix issue [AF-1706](https://linear.app/affine-design/issue/AF-1706).
This commit is contained in:
akumatus
2024-11-20 06:25:36 +00:00
parent 2857568f03
commit b0ca3c6d58
3 changed files with 16 additions and 12 deletions

View File

@@ -45,17 +45,20 @@ export const RowInput = forwardRef<HTMLInputElement, RowInputProps>(
const focusRef = useAutoFocus<HTMLInputElement>(autoFocus);
const selectRef = useAutoSelect<HTMLInputElement>(autoSelect);
const inputRef = (el: HTMLInputElement | null) => {
focusRef.current = el;
selectRef.current = el;
if (upstreamRef) {
if (typeof upstreamRef === 'function') {
upstreamRef(el);
} else {
upstreamRef.current = el;
const inputRef = useCallback(
(el: HTMLInputElement | null) => {
focusRef.current = el;
selectRef.current = el;
if (upstreamRef) {
if (typeof upstreamRef === 'function') {
upstreamRef(el);
} else {
upstreamRef.current = el;
}
}
}
};
},
[focusRef, selectRef, upstreamRef]
);
// use native blur event to get event after unmount
// don't use useLayoutEffect here, because the cleanup function will be called before unmount