|
import React from 'react'; |
|
import { |
|
Dropdown, |
|
DropdownTrigger, |
|
DropdownMenu, |
|
DropdownItem, |
|
Button, |
|
} from '@nextui-org/react'; |
|
import { statusMap } from '@web/constants'; |
|
|
|
export function StatusDropdown({ |
|
value = 1, |
|
onChange, |
|
}: { |
|
value: number; |
|
onChange: (value: number) => void; |
|
}) { |
|
return ( |
|
<Dropdown> |
|
<DropdownTrigger> |
|
<Button size="sm" variant="bordered" className="capitalize"> |
|
{statusMap[value].label} |
|
</Button> |
|
</DropdownTrigger> |
|
<DropdownMenu |
|
disabledKeys={['0']} |
|
aria-label="状态设置" |
|
variant="flat" |
|
disallowEmptySelection |
|
selectionMode="single" |
|
selectedKeys={[`${value}`]} |
|
onSelectionChange={(keys) => { |
|
onChange(+Array.from(keys)[0]); |
|
}} |
|
> |
|
{Object.entries(statusMap).map(([key, value]) => { |
|
return ( |
|
<DropdownItem color={value.color} key={`${key}`} value={`${key}`}> |
|
{value.label} |
|
</DropdownItem> |
|
); |
|
})} |
|
</DropdownMenu> |
|
</Dropdown> |
|
); |
|
} |
|
|