From d2309bebf7ad8ec39dfed791b31a8929b4336ea4 Mon Sep 17 00:00:00 2001 From: Bobby <8290615@qq.com> Date: Tue, 12 Dec 2023 11:20:16 +0800 Subject: [PATCH 1/2] fix: add select ref --- .changeset/gold-poems-smile.md | 5 +++++ packages/react/src/select/select.tsx | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 .changeset/gold-poems-smile.md diff --git a/.changeset/gold-poems-smile.md b/.changeset/gold-poems-smile.md new file mode 100644 index 0000000..c727126 --- /dev/null +++ b/.changeset/gold-poems-smile.md @@ -0,0 +1,5 @@ +--- +'@alice-ui/react': patch +--- + +fix select ref diff --git a/packages/react/src/select/select.tsx b/packages/react/src/select/select.tsx index d23bf4e..062880e 100644 --- a/packages/react/src/select/select.tsx +++ b/packages/react/src/select/select.tsx @@ -3,7 +3,7 @@ import { ChevronDownIcon } from '@alice-ui/icons'; import { clsx } from '@alice-ui/shared-utils'; import { SelectSlots, SelectVariantProps, SlotsToClasses, select } from '@alice-ui/theme'; -import { ReactElement, ReactNode, cloneElement, useMemo } from 'react'; +import { ForwardedRef, ReactElement, ReactNode, cloneElement, forwardRef, useMemo } from 'react'; import type { Placement } from 'react-aria'; import type { SelectProps as AriaSelectProps, PopoverProps } from 'react-aria-components'; import { @@ -63,7 +63,7 @@ export interface SelectProps classNames?: SlotsToClasses; } -export function Select(props: SelectProps) { +function Select(props: SelectProps, ref: ForwardedRef) { const { children, className, @@ -114,7 +114,7 @@ export function Select(props: SelectProps) { }, [isLoading, clonedIcon, spinnerProps, slots, classNames?.spinner]); return ( - + {label && }