Skip to content

Commit 773c312

Browse files
authored
feat: mount scrollTo on ref (#565)
1 parent b035c9f commit 773c312

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/Selector/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import * as React from 'react';
1212
import { useRef } from 'react';
1313
import KeyCode from 'rc-util/lib/KeyCode';
14+
import { ScrollTo } from 'rc-virtual-list/lib/List';
1415
import MultipleSelector from './MultipleSelector';
1516
import SingleSelector from './SingleSelector';
1617
import { LabelValueType, RawValueType, CustomTagProps } from '../interface/generator';
@@ -46,6 +47,7 @@ export interface InnerSelectorProps {
4647
export interface RefSelectorProps {
4748
focus: () => void;
4849
blur: () => void;
50+
scrollTo?: ScrollTo,
4951
}
5052

5153
export interface SelectorProps {

src/generate.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { useState, useRef, useEffect, useMemo } from 'react';
1212
import KeyCode from 'rc-util/lib/KeyCode';
1313
import classNames from 'classnames';
1414
import useMergedState from 'rc-util/lib/hooks/useMergedState';
15+
import { ScrollTo } from 'rc-virtual-list/lib/List';
1516
import Selector, { RefSelectorProps } from './Selector';
1617
import SelectTrigger, { RefTriggerProps } from './SelectTrigger';
1718
import { RenderNode, Mode, RenderDOMFunc, OnActiveValue } from './interface';
@@ -58,6 +59,7 @@ const DEFAULT_OMIT_PROPS = [
5859
export interface RefSelectProps {
5960
focus: () => void;
6061
blur: () => void;
62+
scrollTo?: ScrollTo,
6163
}
6264

6365
export interface SelectProps<OptionsType extends object[], ValueType> extends React.AriaAttributes {
@@ -369,6 +371,7 @@ export default function generateSelector<
369371
React.useImperativeHandle(ref, () => ({
370372
focus: selectorRef.current.focus,
371373
blur: selectorRef.current.blur,
374+
scrollTo: listRef.current?.scrollTo,
372375
}));
373376

374377
// ============================= Value ==============================

0 commit comments

Comments
 (0)