File size: 1,088 Bytes
95d29a5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
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>
);
}
|