Skip to content

Commit

Permalink
[fix] 一部のpropsをdatalistに統合
Browse files Browse the repository at this point in the history
  • Loading branch information
TkymHrt committed Nov 20, 2023
1 parent 02bfca5 commit 6fec28d
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions view/next-project/src/components/common/Input/Input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ interface Props {
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
children?: React.ReactNode;
type?: string;
datalist?: { id: number; name: string }[];
listKey?: string;
enableDatalist?: boolean;
datalist?: {
key: string;
data: { id:number; name: string}[];
}
}

function Input(props: Props): JSX.Element {
Expand All @@ -29,16 +30,16 @@ function Input(props: Props): JSX.Element {
value={props.value}
onChange={props.onChange}
type={props.type}
list={props.enableDatalist ? props.listKey : undefined}
list={props.datalist?.key}
>
{props.children}
</input>
{props.enableDatalist && (
<datalist id={props.listKey}>
{props.datalist?.map((option) => (
<option key={option.id} value={option.name} />
))}
</datalist>
{props.datalist?.key && props.datalist?.data && (
<datalist id={props.datalist.key}>
{props.datalist.data.map((option) => (
<option key={option.id} value={option.name} />
))}
</datalist>
)}
</div>
);
Expand Down

0 comments on commit 6fec28d

Please sign in to comment.