CaseSelect.tsx 837 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { ProFormSelect } from "@ant-design/pro-components";
  2. import { useIntl } from "react-intl";
  3. interface IWidget {
  4. name?: string;
  5. width?: number | "md" | "sm" | "xl" | "xs" | "lg";
  6. }
  7. const CaseSelectWidget = ({ name = "case", width = "md" }: IWidget) => {
  8. const intl = useIntl();
  9. const _case = [
  10. "nom",
  11. "acc",
  12. "gen",
  13. "dat",
  14. "inst",
  15. "abl",
  16. "loc",
  17. "ger",
  18. "adv",
  19. ];
  20. const caseOptions = _case.map((item) => {
  21. return {
  22. value: item,
  23. label: intl.formatMessage({
  24. id: `dict.fields.type.${item}.label`,
  25. defaultMessage: item,
  26. }),
  27. };
  28. });
  29. return (
  30. <ProFormSelect
  31. options={caseOptions}
  32. width={width}
  33. name={name}
  34. label={intl.formatMessage({ id: "forms.fields.case.label" })}
  35. />
  36. );
  37. };
  38. export default CaseSelectWidget;