| 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> | |
| ); | |
| } | |