1
0

field.tsx 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /* eslint-disable max-len */
  2. import withField from './hoc/withField';
  3. // Basic component
  4. import Input from '../input/index';
  5. import TextArea from '../input/textarea';
  6. import InputNumber from '../inputNumber/index';
  7. import Select from '../select/index';
  8. import Checkbox from '../checkbox/index';
  9. import CheckboxGroup from '../checkbox/checkboxGroup';
  10. import { Radio } from '../radio/index';
  11. import RadioGroup from '../radio/radioGroup';
  12. import DatePicker from '../datePicker/index';
  13. import Switch from '../switch/index';
  14. import Slider from '../slider/index';
  15. import TimePicker from '../timePicker/index';
  16. import TreeSelect from '../treeSelect/index';
  17. import Cascader from '../cascader/index';
  18. import Rating from '../rating/index';
  19. import AutoComplete from '../autoComplete/index';
  20. import Upload from '../upload/index';
  21. import TagInput from '../tagInput/index';
  22. import { FormCheckboxType, FormRadioType, FormSelectType } from './interface';
  23. const FormInput = withField(Input, { maintainCursor: true });
  24. const FormInputNumber = withField(InputNumber, { maintainCursor: true });
  25. const FormTextArea = withField(TextArea, { maintainCursor: true });
  26. const FormSelect = withField(Select) as typeof FormSelectType;
  27. // Select after withField is a new Component, without the Option attribute, it needs to be manually assigned once
  28. FormSelect.Option = Select.Option;
  29. FormSelect.OptGroup = Select.OptGroup;
  30. const FormCheckboxGroup = withField(CheckboxGroup);
  31. const FormCheckbox = withField(Checkbox, {
  32. valueKey: 'checked',
  33. valuePath: 'target.checked',
  34. shouldInject: false,
  35. }) as typeof FormCheckboxType;
  36. const FormRadioGroup = withField(RadioGroup, { valuePath: 'target.value' });
  37. const FormRadio = withField(Radio, {
  38. valueKey: 'checked',
  39. valuePath: 'target.checked',
  40. shouldInject: false,
  41. }) as typeof FormRadioType;
  42. const FormDatePicker = withField(DatePicker);
  43. const FormSwitch = withField(Switch, { valueKey: 'checked' });
  44. const FormSlider = withField(Slider);
  45. const FormTimePicker = withField(TimePicker);
  46. const FormTreeSelect = withField(TreeSelect);
  47. const FormCascader = withField(Cascader);
  48. const FormRating = withField(Rating);
  49. const FormAutoComplete = withField(AutoComplete, { valueKey: 'value', onKeyChangeFnName: 'onChange' });
  50. const FormUpload = withField(Upload, { valueKey: 'fileList', valuePath: 'fileList', onKeyChangeFnName: 'onChange' });
  51. const FormTagInput = withField(TagInput);
  52. export {
  53. FormInput,
  54. FormInputNumber,
  55. FormTextArea,
  56. FormSelect,
  57. FormCheckboxGroup,
  58. FormCheckbox,
  59. FormRadioGroup,
  60. FormRadio,
  61. FormDatePicker,
  62. FormSwitch,
  63. FormSlider,
  64. FormTimePicker,
  65. FormTreeSelect,
  66. FormCascader,
  67. FormRating,
  68. FormAutoComplete,
  69. FormUpload,
  70. FormTagInput
  71. };