Юниверс DG SDK UI
v2.15.0

Интерфейс SelectProps<OPT>

Свойства компонента выбора

interface SelectProps<OPT extends SelectOption<any> = SelectOption> {
    addText?: string;
    allowClear?: boolean;
    autoFocus?: boolean;
    canAdd?: boolean;
    canCreate?: boolean;
    canSelectAll?: boolean;
    createOption?: (baseData: SelectOption<string>) => OPT;
    "data-readonly"?: true;
    defaultValue?: SelectValue<SelectOptionValue<OPT>>;
    dropdownMatchSelectWidth?: "autoContent" | "1.5:1";
    dropdownOverflowType?: OVERFLOW_TYPE;
    dropdownRef?: Ref<HTMLDivElement>;
    dropdownRender?: DropdownRenderFunction<OPT>;
    errorMessage?: ReactNode;
    hasBorder?: boolean;
    hasError?: boolean;
    inputRef?: Ref<HTMLInputElement>;
    inputRowsMode?: SelectInputRowsMode;
    isAllSelected?: boolean;
    isDefaultOpen?: boolean;
    isDisabled?: boolean;
    isHighlighted?: boolean;
    isOpen?: boolean;
    isReadOnly?: boolean;
    isWaiting?: boolean;
    mode?: SelectMode;
    multipleValueRenderer?: (
        option: OPT,
        onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void,
    ) => ReactNode;
    multiValueRenderer?: (
        option: OPT,
        onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void,
        defaultRenderer: (
            value: SelectOptionValue<OPT>,
            displayValue: string,
            title: string,
            option: OPT,
        ) => ReactNode,
    ) => ReactNode;
    notFoundContent?: ReactNode;
    notFoundText?: string;
    onAdd?: () => void;
    onBlur?: () => void;
    onChange?: (
        value: SelectValue<SelectOptionValue<OPT>> | undefined,
        options?: OPT[],
    ) => void;
    onClear?: () => void;
    onDeselect?: (value: SelectValue<SelectOptionValue<OPT>>) => void;
    onDeselectAll?: () => void;
    onDropdownVisibleChange?: (isOpen: boolean) => void;
    onFocus?: () => void;
    onPrefixClick?: (e: MouseEvent) => void;
    onSearch?: (text: string) => void;
    onSelect?: (value: SelectValue<SelectOptionValue<OPT>>) => void;
    onSelectAll?: () => void;
    onSuffixClick?: (e: MouseEvent) => void;
    optionRenderer?: (option: OPT) => ReactNode;
    options: OPT[];
    optionsMaxHeight?: number;
    placeholder?: string;
    prefix?: ReactNode;
    preserveValueOrdering?: boolean;
    scrollModeMaxRows?: number;
    selectAllText?: string;
    selectedOptions?: OPT[];
    selectNoneText?: string;
    shouldBlurOnClose?: boolean;
    showArrow?: boolean;
    showPlaceholderWhenDisabled?: boolean;
    showSearch?: boolean;
    size?: Universe.Platform.Uikit.SIZE;
    sortOrder?: "ASC" | "DESC";
    suffix?: ReactNode;
    targetRenderer?: (
        handleClick: (e: MouseEvent<HTMLDivElement>) => void,
        value?: SelectValue<SelectOptionValue<OPT>>,
    ) => ReactNode;
    title?: ReactNode;
    tooltipPlacement?: PLACEMENT;
    useClientFilter?: boolean;
    value?: SelectValue<SelectOptionValue<OPT>>;
    valueRenderer?: (value?: SelectValue<SelectOptionValue<OPT>>) => ReactNode;
}

Параметры типа

Индекс

Свойства

addText?: string

Текст для кнопки добавления.

allowClear?: boolean

Разрешает очистку выбранных значений.

autoFocus?: boolean

Автоматическая фокусировка.

canAdd?: boolean

Разрешает добавление опции.

canCreate?: boolean

Разрешает создание новой опции.

canSelectAll?: boolean

Разрешает выбор всех опций сразу.

createOption?: (baseData: SelectOption<string>) => OPT

Создает новую опцию.

Объявление типа

    • (baseData: SelectOption<string>): OPT
    • Параметры

      • baseData: SelectOption<string>

        Данные для новой опции.

      Возвращает OPT

"data-readonly"?: true

Имеет ли поле атрибут только для чтения.

Значение по умолчанию.

dropdownMatchSelectWidth?: "autoContent" | "1.5:1"

Ширина выпадающего списка относительно поля ввода.

dropdownOverflowType?: OVERFLOW_TYPE

Поведение при переполнении содержимого выпадающего списка

dropdownRef?: Ref<HTMLDivElement>

Ссылка на контейнер выпадающего списка.

dropdownRender?: DropdownRenderFunction<OPT>

Функция рендера выпадающего списка.

errorMessage?: ReactNode

Текст сообщения об ошибке.

hasBorder?: boolean

Флаг показа границы.

hasError?: boolean

Флаг ошибки.

inputRef?: Ref<HTMLInputElement>

Ссылка на поле ввода.

inputRowsMode?: SelectInputRowsMode

Режим строк поля ввода.

isAllSelected?: boolean

Флаг полного выбора.

isDefaultOpen?: boolean

Флаг открытия по умолчанию.

isDisabled?: boolean

Флаг отключения.

isHighlighted?: boolean

Флаг подсвечивания.

isOpen?: boolean

Флаг текущего открытия списка.

isReadOnly?: boolean

Флаг только для чтения.

isWaiting?: boolean

Флаг состояния ожидания.

mode?: SelectMode

Режимы селекта

Окончание поддержки:2.16.0
multipleValueRenderer?: (
    option: OPT,
    onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void,
) => ReactNode

Пользовательский рендер нескольких значений.

Объявление типа

    • (
          option: OPT,
          onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void,
      ): ReactNode
    • Параметры

      • option: OPT

        Опция.

      • onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void

        Функция удаления выбранной опции.

      Возвращает ReactNode

multipleValueRenderer использует HTML параметр title, который может отличаться от выводимого значения Необходимо использовать параметр multiValueRenderer

multiValueRenderer?: (
    option: OPT,
    onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void,
    defaultRenderer: (
        value: SelectOptionValue<OPT>,
        displayValue: string,
        title: string,
        option: OPT,
    ) => ReactNode,
) => ReactNode

Пользовательский рендер нескольких значений.

Объявление типа

    • (
          option: OPT,
          onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void,
          defaultRenderer: (
              value: SelectOptionValue<OPT>,
              displayValue: string,
              title: string,
              option: OPT,
          ) => ReactNode,
      ): ReactNode
    • Параметры

      • option: OPT

        Опция.

      • onDeleteSelectedOption: (option: OPT) => (e: SyntheticEvent) => void

        Функция удаления выбранной опции.

      • defaultRenderer: (
            value: SelectOptionValue<OPT>,
            displayValue: string,
            title: string,
            option: OPT,
        ) => ReactNode

        Встроенный рендер по умолчанию.

      Возвращает ReactNode

notFoundContent?: ReactNode

Содержимое для состояния отсутствия результатов.

notFoundText?: string

Текст при отсутствии результатов.

onAdd?: () => void

Обработчик добавления опции.

onBlur?: () => void

Обработчик потери фокуса.

onChange?: (
    value: SelectValue<SelectOptionValue<OPT>> | undefined,
    options?: OPT[],
) => void

Обработчик выбора нового значения.

Объявление типа

onClear?: () => void

Обработчик очистки.

onDeselect?: (value: SelectValue<SelectOptionValue<OPT>>) => void

Обработчик отмены выбора.

Объявление типа

onDeselectAll?: () => void

Обработчик отмены выбора всех опций.

onDropdownVisibleChange?: (isOpen: boolean) => void

Обработчик изменения видимости выпадающего списка.

Объявление типа

    • (isOpen: boolean): void
    • Параметры

      • isOpen: boolean

        Текущее состояние видимости.

      Возвращает void

onFocus?: () => void

Обработчик фокусировки.

onPrefixClick?: (e: MouseEvent) => void

Обработчик клика по префиксу.

Объявление типа

    • (e: MouseEvent): void
    • Параметры

      Возвращает void

onSearch?: (text: string) => void

Обработчик изменения текста для поиска.

Объявление типа

    • (text: string): void
    • Параметры

      • text: string

        Введенный текст.

      Возвращает void

onSelect?: (value: SelectValue<SelectOptionValue<OPT>>) => void

Обработчик выбора значения.

Объявление типа

onSelectAll?: () => void

Обработчик выбора всех опций.

onSuffixClick?: (e: MouseEvent) => void

Обработчик клика по суффиксу.

Объявление типа

    • (e: MouseEvent): void
    • Параметры

      Возвращает void

optionRenderer?: (option: OPT) => ReactNode

Пользовательский рендер опции.

Объявление типа

options: OPT[]

Список опций выбора.

optionsMaxHeight?: number

Максимальная высота списка опций.

placeholder?: string

Текст-заполнитель.

prefix?: ReactNode

Префикс перед полем ввода.

preserveValueOrdering?: boolean

Сохранять порядок выбранных значений.

scrollModeMaxRows?: number

Максимальное количество строк в режиме прокрутки.

selectAllText?: string

Текст для кнопки "Выбрать все".

selectedOptions?: OPT[]

Список выбранных опций.

selectNoneText?: string

Текст для кнопки "Снять все".

shouldBlurOnClose?: boolean

Флаг необходимости терять фокус при закрытии.

showArrow?: boolean

Показать стрелку около поля ввода.

showPlaceholderWhenDisabled?: boolean

Показывать плейсхолдер, даже если поле отключено.

showSearch?: boolean

Флаг показа поля поиска.

Размер компонента.

sortOrder?: "ASC" | "DESC"

Порядок сортировки.

suffix?: ReactNode

Суффикс после поля ввода.

targetRenderer?: (
    handleClick: (e: MouseEvent<HTMLDivElement>) => void,
    value?: SelectValue<SelectOptionValue<OPT>>,
) => ReactNode

Пользовательский рендер целевого элемента.

Объявление типа

title?: ReactNode

Заголовок компонента.

tooltipPlacement?: PLACEMENT

Позиция всплывающей подсказки.

useClientFilter?: boolean

Использовать клиентский фильтр.

Текущее значение.

valueRenderer?: (value?: SelectValue<SelectOptionValue<OPT>>) => ReactNode

Пользовательский рендер одиночного значения.

Объявление типа