doc: update docs/typescript.md

This commit is contained in:
jaywcjlove 2023-06-05 14:09:06 +08:00
parent 93f1b473af
commit f7b60c9a09

View File

@ -1185,17 +1185,17 @@ function Dog(prop:CeProps): JSX.Element {
<!--rehype:wrap-class=col-span-2--> <!--rehype:wrap-class=col-span-2-->
```tsx ```tsx
interface MenuProps extends React.LiHTMLAttributes<HTMLUListElement> { ... } interface MenuProps extends React.LiHTMLAttributes<HTMLUListElement> { ... };
const InternalMenu = (props: MenuProps, ref?: React.ForwardedRef<HTMLUListElement>) => ( const InternalMenu = React.forwardRef<HTMLUListElement, MenuProps>((props, ref) => (
<ul {...props} ref={ref} /> <ul {...props} ref={ref} />
); ));
type MenuComponent = React.FC<React.PropsWithRef<MenuProps>> & {
type MenuComponent = typeof InternalMenu & {
Item: typeof MenuItem; // MenuItem 函数组件 Item: typeof MenuItem; // MenuItem 函数组件
SubMenu: typeof SubMenu; // SubMenu 函数组件 SubMenu: typeof SubMenu; // SubMenu 函数组件
}; };
const Menu: MenuComponent = React.forwardRef<HTMLUListElement>(
InternalMenu const Menu: MenuComponent = InternalMenu as unknown as MenuComponent;
) as unknown as MenuComponent;
Menu.Item = MenuItem; Menu.Item = MenuItem;
Menu.SubMenu = SubMenu; Menu.SubMenu = SubMenu;