fix(core): database properties in info flickering issue (#9872)

fix af-2123
This commit is contained in:
pengx17
2025-01-24 03:46:24 +00:00
parent 79fe687b1a
commit 48c26017ae

View File

@@ -29,7 +29,7 @@ import {
} from '@toeverything/infra';
import clsx from 'clsx';
import type React from 'react';
import { forwardRef, useCallback, useState } from 'react';
import { forwardRef, useCallback, useMemo, useState } from 'react';
import { DocPropertyIcon } from './icons/doc-property-icon';
import { CreatePropertyMenuItems } from './menu/create-doc-property';
@@ -401,6 +401,17 @@ const DocPropertiesTableInner = ({
className,
}: DocPropertiesTableProps) => {
const [expanded, setExpanded] = useState(!!defaultOpenProperty);
const defaultOpen = useMemo(() => {
return defaultOpenProperty?.type === 'database'
? [
{
databaseBlockId: defaultOpenProperty.databaseId,
rowId: defaultOpenProperty.databaseRowId,
docId: defaultOpenProperty.docId,
},
]
: [];
}, [defaultOpenProperty]);
return (
<div className={clsx(styles.root, className)}>
<Collapsible.Root open={expanded} onOpenChange={setExpanded}>
@@ -421,17 +432,7 @@ const DocPropertiesTableInner = ({
<div className={styles.tableHeaderDivider} />
<DocDatabaseBacklinkInfo
onChange={onDatabasePropertyChange}
defaultOpen={
defaultOpenProperty?.type === 'database'
? [
{
databaseBlockId: defaultOpenProperty.databaseId,
rowId: defaultOpenProperty.databaseRowId,
docId: defaultOpenProperty.docId,
},
]
: []
}
defaultOpen={defaultOpen}
/>
</Collapsible.Content>
</Collapsible.Root>