【发布时间】:2023-01-07 02:55:48
【问题描述】:
我想从过滤器下拉组件中删除/分离布局,因为它使通用组件在某些特定用例之外完全无用
transfer-assets.tsx
<FilterDropdown
data={pensionFunds?.pension_funds}
/>
filter-dropdown.tsx
interface FilterDropdownProps {
/* eslint-disable @typescript-eslint/no-explicit-any */
data: any[] | undefined
dropdownDataLayout: JSX.Element
}
export const FilterDropdown = ({
data,
dropdownDataLayout: DropdownDataLayout,
}: FilterDropdownProps) => {
return (
<SelectField>
{data?.map((option: Record<string, any>, index: number) => (
// How to render dropdownDataLayout here ? My idea but is not working -> <DropdownDataLayout option={option} key={index} />
))}
</SelectField>
)
}
我的想法是像这样传递道具,来自transfer-assets.tsx
const TransferAssetsLayout = ({
option,
index,
}: TransferAssetsLayoutProps) => {
return (
...
)
}
<FilterDropdown
data={pensionFunds?.pension_funds}
dropdownDataLayout={TransferAssetsLayout}
/>
,但这不起作用,因为我需要传递 option 和 key 道具如何将道具 options 和 key 道具传递给 filter-dropdown.tsx 组件以呈现所需的布局?
【问题讨论】:
标签: reactjs typescript