Files
web-menu-react-version/src/components/ProSelect/ProInModalSelect.tsx
2025-10-04 18:22:24 +03:00

42 lines
1004 B
TypeScript

import { Select } from "antd";
import { ProSelectProps } from "./types";
const { Option } = Select;
/*
* use this component in modals instead of ProSelector
* , because overriding "getPopupContainer" to solve the scrolling problem causes the selector to go above the select input
* */
const ProInModalSelect = ({
optionList,
valueField = "id",
displayField = "name",
fixedPosition,
spreadOptionProps,
...rest
}: ProSelectProps) => (
<Select
// listItemHeight={4}
listHeight={150}
{...rest}
{...(fixedPosition
? { getPopupContainer: (trigger) => trigger.parentNode }
: {})}
>
{optionList && Array.isArray(optionList)
? optionList.map((option) => (
<Option
value={option[valueField]}
key={option[valueField]}
{...(spreadOptionProps ? { ...option } : {})}
>
{option[displayField]}
</Option>
))
: null}
</Select>
);
export default ProInModalSelect;