@hw-component/form 0.0.9-beta-v12 → 0.0.9-beta-v16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ import { Col, Form, Space } from 'antd';
14
14
  import React from 'react';
15
15
  import Index$2 from './Helper.js';
16
16
  import { useClassName } from '../../hooks/index.js';
17
- import { useHide } from './hooks.js';
17
+ import { usePositionClassName, useHide } from './hooks.js';
18
18
  import { useFormContext } from '../Context/index.js';
19
19
  import { useDefaultRender } from '../hooks/useDefaultRender.js';
20
20
  import { useDefaultComponents } from '../hooks/index.js';
@@ -64,15 +64,17 @@ var Index = function Index(props) {
64
64
  span: 24
65
65
  } : _props$itemSpan,
66
66
  _props$hideLabel = props.hideLabel,
67
- hideLabel = _props$hideLabel === void 0 ? false : _props$hideLabel,
68
- labelAlign = props.labelAlign,
69
- oProps = _objectWithoutProperties(props, _excluded);
70
- props.labelAlign;
71
- var inProps = _objectWithoutProperties(props, _excluded2);
67
+ hideLabel = _props$hideLabel === void 0 ? false : _props$hideLabel;
68
+ props.labelAlign;
69
+ var oProps = _objectWithoutProperties(props, _excluded);
70
+ var _props$labelAlign = props.labelAlign,
71
+ align = _props$labelAlign === void 0 ? "right" : _props$labelAlign,
72
+ inProps = _objectWithoutProperties(props, _excluded2);
72
73
  var _useFormContext = useFormContext(),
73
74
  form = _useFormContext.form;
74
75
  var defaultComponent = useDefaultComponents();
75
76
  var defaultRender = useDefaultRender(inProps, defaultComponent);
77
+ var className = usePositionClassName(align);
76
78
  var hideItem = useHide({
77
79
  hide: hide,
78
80
  form: form
@@ -82,12 +84,12 @@ var Index = function Index(props) {
82
84
  }
83
85
  return jsx(Col, _objectSpread(_objectSpread({}, itemSpan), {}, {
84
86
  children: jsx(Form.Item, _objectSpread(_objectSpread({
87
+ className: className,
85
88
  label: !hideLabel && jsx(Index$1, {
86
89
  hover: hover,
87
90
  labelWidth: labelWidth,
88
91
  required: required,
89
92
  colon: colon,
90
- align: labelAlign,
91
93
  children: label
92
94
  })
93
95
  }, oProps), {}, {
@@ -1,8 +1,10 @@
1
1
  import type { HFormInstance, HItemProps } from "../modal";
2
+ import type { LabelAlignModal } from "../modal";
2
3
  export declare const useFormItemDomControl: ({ shouldUpdate, hide, dependencies, }: HItemProps) => ({ shouldUpdate, dependencies, hide, itemSpan, ...props }: import("../modal").HFormItemProps) => JSX.Element;
3
4
  interface UseHideUpItemModal extends Omit<HItemProps, "name"> {
4
5
  form: HFormInstance;
5
6
  }
6
7
  export declare const useShouldUpdate: ({ hide, shouldUpdate, }: Omit<HItemProps, "name">) => import("rc-field-form/lib/Field").ShouldUpdate<any> | undefined;
7
8
  export declare const useHide: ({ hide, form }: UseHideUpItemModal) => boolean;
9
+ export declare const usePositionClassName: (position: LabelAlignModal) => string;
8
10
  export {};
@@ -2,6 +2,7 @@
2
2
  import UpFormItem from './UpFormItem.js';
3
3
  import RegularFormItem from './RegularFormItem.js';
4
4
  import { useMemo } from 'react';
5
+ import { useClassName } from '../../hooks/index.js';
5
6
 
6
7
  var useFormItemDomControl = function useFormItemDomControl(_ref) {
7
8
  var shouldUpdate = _ref.shouldUpdate,
@@ -33,6 +34,17 @@ var useHide = function useHide(_ref3) {
33
34
  }
34
35
  return !!hide;
35
36
  };
37
+ var classNameData = {
38
+ top: "hw-form-base-item-top",
39
+ left: "hw-form-base-item-left",
40
+ right: "hw-form-base-item-right",
41
+ topRight: "hw-form-base-item-top-right",
42
+ topLeft: "hw-form-base-item-top-left"
43
+ };
44
+ var usePositionClassName = function usePositionClassName(position) {
45
+ var className = classNameData[position];
46
+ return useClassName(className);
47
+ };
36
48
 
37
- export { useFormItemDomControl, useHide, useShouldUpdate };
49
+ export { useFormItemDomControl, useHide, usePositionClassName, useShouldUpdate };
38
50
  // powered by hdj
@@ -5,7 +5,6 @@ interface IProps {
5
5
  hover?: string | HoverModal;
6
6
  colon?: boolean;
7
7
  required?: boolean;
8
- align?: "left" | "right";
9
8
  }
10
9
  declare const Index: React.FC<IProps>;
11
10
  export default Index;
package/es/Form/Label.js CHANGED
@@ -19,9 +19,7 @@ var Index = function Index(_ref2) {
19
19
  children = _ref2.children,
20
20
  colon = _ref2.colon,
21
21
  required = _ref2.required,
22
- hover = _ref2.hover,
23
- _ref2$align = _ref2.align,
24
- align = _ref2$align === void 0 ? "right" : _ref2$align;
22
+ hover = _ref2.hover;
25
23
  var _useHover = useHover({
26
24
  hover: hover
27
25
  }),
@@ -31,8 +29,7 @@ var Index = function Index(_ref2) {
31
29
  var className = useClassName(array);
32
30
  return jsxs("div", {
33
31
  style: {
34
- width: labelWidth,
35
- textAlign: align
32
+ width: labelWidth
36
33
  },
37
34
  className: className,
38
35
  children: [children, text && jsx("span", {
package/es/Form/index.js CHANGED
@@ -9,6 +9,7 @@ import 'core-js/modules/es.object.get-own-property-descriptors.js';
9
9
  import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
10
10
  import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/objectWithoutProperties';
11
11
  import 'core-js/modules/es.array.map.js';
12
+ import 'core-js/modules/es.function.name.js';
12
13
  import { jsx, jsxs } from 'react/jsx-runtime';
13
14
  import { useEffect, createElement } from 'react';
14
15
  import { Form, Row } from 'antd';
@@ -99,13 +100,14 @@ var HForm = (function (_ref) {
99
100
  _itemData$hideLabel = itemData.hideLabel,
100
101
  hideLabel = _itemData$hideLabel === void 0 ? formHideLabel : _itemData$hideLabel,
101
102
  _itemData$labelAlign = itemData.labelAlign,
102
- labelAlign = _itemData$labelAlign === void 0 ? formLabelAlign : _itemData$labelAlign;
103
+ labelAlign = _itemData$labelAlign === void 0 ? formLabelAlign : _itemData$labelAlign,
104
+ name = itemData.name;
103
105
  return /*#__PURE__*/createElement(Item, _objectSpread(_objectSpread({}, itemData), {}, {
104
- key: index,
106
+ labelAlign: labelAlign,
107
+ key: name || index,
105
108
  hideLabel: hideLabel,
106
109
  itemSpan: itemSpan,
107
- labelWidth: itemLabelWidth || labelWidth,
108
- labelAlign: labelAlign
110
+ labelWidth: itemLabelWidth || labelWidth
109
111
  }));
110
112
  })
111
113
  }), jsx(InitSet, {})]
@@ -32,7 +32,8 @@ export interface DispatchModal<T = string | string[]> {
32
32
  manual?: boolean;
33
33
  reset?: boolean;
34
34
  }
35
- export interface HItemProps extends Omit<FormItemProps, "name"> {
35
+ export type LabelAlignModal = "left" | "right" | "topLeft" | "topRight" | "top";
36
+ export interface HItemProps extends Omit<FormItemProps, "name" | "labelAlign"> {
36
37
  type?: string;
37
38
  itemProps?: ItemPropsType;
38
39
  render?: RenderFun;
@@ -45,8 +46,9 @@ export interface HItemProps extends Omit<FormItemProps, "name"> {
45
46
  dispatch?: DispatchModal;
46
47
  itemSpan?: ColProps;
47
48
  hideLabel?: boolean;
49
+ labelAlign?: LabelAlignModal;
48
50
  }
49
- export interface HFormProps<T = any, R = any> extends Omit<FormProps, "form" | "onFinish"> {
51
+ export interface HFormProps<T = any, R = any> extends Omit<FormProps, "form" | "onFinish" | "labelAlign"> {
50
52
  configData: HItemProps[];
51
53
  labelWidth?: number;
52
54
  request?: (values: T, params?: any) => Promise<R>;
@@ -59,7 +61,7 @@ export interface HFormProps<T = any, R = any> extends Omit<FormProps, "form" | "
59
61
  hideLabel?: boolean;
60
62
  gutter?: Gutter | [Gutter, Gutter];
61
63
  submitLoading?: boolean;
62
- labelAlign?: "left" | "right";
64
+ labelAlign?: LabelAlignModal;
63
65
  }
64
66
  export interface HFormItemProps extends HItemProps {
65
67
  required?: boolean;
@@ -68,7 +70,7 @@ export interface HFormItemProps extends HItemProps {
68
70
  itemSpan?: ColProps;
69
71
  initValueProvider?: AddValueFormat;
70
72
  subProvider?: AddValueFormat;
71
- labelAlign?: "left" | "right";
73
+ labelAlign?: LabelAlignModal;
72
74
  }
73
75
  export type argsFn = (...args: any[]) => void;
74
76
  export interface FormContextProps {
package/es/index.css CHANGED
@@ -33,6 +33,27 @@
33
33
  align-items: center;
34
34
  min-height: 32px;
35
35
  }
36
+ .ant-hw-form-base-item-top-left .ant-form-item-label > label {
37
+ height: auto;
38
+ }
39
+ .ant-hw-form-base-item-top-left .ant-hw-form-item-colon {
40
+ text-align: left;
41
+ }
42
+ .ant-hw-form-base-item-top-right .ant-form-item-label > label {
43
+ height: auto;
44
+ }
45
+ .ant-hw-form-base-item-top-right .ant-hw-form-item-colon {
46
+ text-align: right;
47
+ }
48
+ .ant-hw-form-base-item-top .ant-form-item-label > label {
49
+ height: auto;
50
+ }
51
+ .ant-hw-form-base-item-right .ant-hw-form-item-colon {
52
+ text-align: right;
53
+ }
54
+ .ant-hw-form-base-item-left .ant-hw-form-item-colon {
55
+ text-align: left;
56
+ }
36
57
  .ant-hw-color-box {
37
58
  width: 22px;
38
59
  height: 22px;
@@ -67,15 +67,17 @@ var Index = function Index(props) {
67
67
  span: 24
68
68
  } : _props$itemSpan,
69
69
  _props$hideLabel = props.hideLabel,
70
- hideLabel = _props$hideLabel === void 0 ? false : _props$hideLabel,
71
- labelAlign = props.labelAlign,
72
- oProps = _objectWithoutProperties(props, _excluded);
73
- props.labelAlign;
74
- var inProps = _objectWithoutProperties(props, _excluded2);
70
+ hideLabel = _props$hideLabel === void 0 ? false : _props$hideLabel;
71
+ props.labelAlign;
72
+ var oProps = _objectWithoutProperties(props, _excluded);
73
+ var _props$labelAlign = props.labelAlign,
74
+ align = _props$labelAlign === void 0 ? "right" : _props$labelAlign,
75
+ inProps = _objectWithoutProperties(props, _excluded2);
75
76
  var _useFormContext = index.useFormContext(),
76
77
  form = _useFormContext.form;
77
78
  var defaultComponent = index$1.useDefaultComponents();
78
79
  var defaultRender = useDefaultRender.useDefaultRender(inProps, defaultComponent);
80
+ var className = hooks.usePositionClassName(align);
79
81
  var hideItem = hooks.useHide({
80
82
  hide: hide,
81
83
  form: form
@@ -85,12 +87,12 @@ var Index = function Index(props) {
85
87
  }
86
88
  return jsxRuntime.jsx(antd.Col, _objectSpread(_objectSpread({}, itemSpan), {}, {
87
89
  children: jsxRuntime.jsx(antd.Form.Item, _objectSpread(_objectSpread({
90
+ className: className,
88
91
  label: !hideLabel && jsxRuntime.jsx(Label.default, {
89
92
  hover: hover,
90
93
  labelWidth: labelWidth,
91
94
  required: required,
92
95
  colon: colon,
93
- align: labelAlign,
94
96
  children: label
95
97
  })
96
98
  }, oProps), {}, {
@@ -1,8 +1,10 @@
1
1
  import type { HFormInstance, HItemProps } from "../modal";
2
+ import type { LabelAlignModal } from "../modal";
2
3
  export declare const useFormItemDomControl: ({ shouldUpdate, hide, dependencies, }: HItemProps) => ({ shouldUpdate, dependencies, hide, itemSpan, ...props }: import("../modal").HFormItemProps) => JSX.Element;
3
4
  interface UseHideUpItemModal extends Omit<HItemProps, "name"> {
4
5
  form: HFormInstance;
5
6
  }
6
7
  export declare const useShouldUpdate: ({ hide, shouldUpdate, }: Omit<HItemProps, "name">) => import("rc-field-form/lib/Field").ShouldUpdate<any> | undefined;
7
8
  export declare const useHide: ({ hide, form }: UseHideUpItemModal) => boolean;
9
+ export declare const usePositionClassName: (position: LabelAlignModal) => string;
8
10
  export {};
@@ -3,6 +3,7 @@
3
3
  var UpFormItem = require('./UpFormItem.js');
4
4
  var RegularFormItem = require('./RegularFormItem.js');
5
5
  var React = require('react');
6
+ var index = require('../../hooks/index.js');
6
7
 
7
8
  var useFormItemDomControl = function useFormItemDomControl(_ref) {
8
9
  var shouldUpdate = _ref.shouldUpdate,
@@ -34,8 +35,20 @@ var useHide = function useHide(_ref3) {
34
35
  }
35
36
  return !!hide;
36
37
  };
38
+ var classNameData = {
39
+ top: "hw-form-base-item-top",
40
+ left: "hw-form-base-item-left",
41
+ right: "hw-form-base-item-right",
42
+ topRight: "hw-form-base-item-top-right",
43
+ topLeft: "hw-form-base-item-top-left"
44
+ };
45
+ var usePositionClassName = function usePositionClassName(position) {
46
+ var className = classNameData[position];
47
+ return index.useClassName(className);
48
+ };
37
49
 
38
50
  exports.useFormItemDomControl = useFormItemDomControl;
39
51
  exports.useHide = useHide;
52
+ exports.usePositionClassName = usePositionClassName;
40
53
  exports.useShouldUpdate = useShouldUpdate;
41
54
  // powered by h
@@ -5,7 +5,6 @@ interface IProps {
5
5
  hover?: string | HoverModal;
6
6
  colon?: boolean;
7
7
  required?: boolean;
8
- align?: "left" | "right";
9
8
  }
10
9
  declare const Index: React.FC<IProps>;
11
10
  export default Index;
package/lib/Form/Label.js CHANGED
@@ -22,9 +22,7 @@ var Index = function Index(_ref2) {
22
22
  children = _ref2.children,
23
23
  colon = _ref2.colon,
24
24
  required = _ref2.required,
25
- hover = _ref2.hover,
26
- _ref2$align = _ref2.align,
27
- align = _ref2$align === void 0 ? "right" : _ref2$align;
25
+ hover = _ref2.hover;
28
26
  var _useHover = useHover({
29
27
  hover: hover
30
28
  }),
@@ -34,8 +32,7 @@ var Index = function Index(_ref2) {
34
32
  var className = index.useClassName(array);
35
33
  return jsxRuntime.jsxs("div", {
36
34
  style: {
37
- width: labelWidth,
38
- textAlign: align
35
+ width: labelWidth
39
36
  },
40
37
  className: className,
41
38
  children: [children, text && jsxRuntime.jsx("span", {
package/lib/Form/index.js CHANGED
@@ -12,6 +12,7 @@ require('core-js/modules/es.object.get-own-property-descriptors.js');
12
12
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
13
13
  var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
14
14
  require('core-js/modules/es.array.map.js');
15
+ require('core-js/modules/es.function.name.js');
15
16
  var jsxRuntime = require('react/jsx-runtime');
16
17
  var React = require('react');
17
18
  var antd = require('antd');
@@ -102,13 +103,14 @@ var HForm = (function (_ref) {
102
103
  _itemData$hideLabel = itemData.hideLabel,
103
104
  hideLabel = _itemData$hideLabel === void 0 ? formHideLabel : _itemData$hideLabel,
104
105
  _itemData$labelAlign = itemData.labelAlign,
105
- labelAlign = _itemData$labelAlign === void 0 ? formLabelAlign : _itemData$labelAlign;
106
+ labelAlign = _itemData$labelAlign === void 0 ? formLabelAlign : _itemData$labelAlign,
107
+ name = itemData.name;
106
108
  return /*#__PURE__*/React.createElement(index$3.default, _objectSpread(_objectSpread({}, itemData), {}, {
107
- key: index,
109
+ labelAlign: labelAlign,
110
+ key: name || index,
108
111
  hideLabel: hideLabel,
109
112
  itemSpan: itemSpan,
110
- labelWidth: itemLabelWidth || labelWidth,
111
- labelAlign: labelAlign
113
+ labelWidth: itemLabelWidth || labelWidth
112
114
  }));
113
115
  })
114
116
  }), jsxRuntime.jsx(InitSet.default, {})]
@@ -32,7 +32,8 @@ export interface DispatchModal<T = string | string[]> {
32
32
  manual?: boolean;
33
33
  reset?: boolean;
34
34
  }
35
- export interface HItemProps extends Omit<FormItemProps, "name"> {
35
+ export type LabelAlignModal = "left" | "right" | "topLeft" | "topRight" | "top";
36
+ export interface HItemProps extends Omit<FormItemProps, "name" | "labelAlign"> {
36
37
  type?: string;
37
38
  itemProps?: ItemPropsType;
38
39
  render?: RenderFun;
@@ -45,8 +46,9 @@ export interface HItemProps extends Omit<FormItemProps, "name"> {
45
46
  dispatch?: DispatchModal;
46
47
  itemSpan?: ColProps;
47
48
  hideLabel?: boolean;
49
+ labelAlign?: LabelAlignModal;
48
50
  }
49
- export interface HFormProps<T = any, R = any> extends Omit<FormProps, "form" | "onFinish"> {
51
+ export interface HFormProps<T = any, R = any> extends Omit<FormProps, "form" | "onFinish" | "labelAlign"> {
50
52
  configData: HItemProps[];
51
53
  labelWidth?: number;
52
54
  request?: (values: T, params?: any) => Promise<R>;
@@ -59,7 +61,7 @@ export interface HFormProps<T = any, R = any> extends Omit<FormProps, "form" | "
59
61
  hideLabel?: boolean;
60
62
  gutter?: Gutter | [Gutter, Gutter];
61
63
  submitLoading?: boolean;
62
- labelAlign?: "left" | "right";
64
+ labelAlign?: LabelAlignModal;
63
65
  }
64
66
  export interface HFormItemProps extends HItemProps {
65
67
  required?: boolean;
@@ -68,7 +70,7 @@ export interface HFormItemProps extends HItemProps {
68
70
  itemSpan?: ColProps;
69
71
  initValueProvider?: AddValueFormat;
70
72
  subProvider?: AddValueFormat;
71
- labelAlign?: "left" | "right";
73
+ labelAlign?: LabelAlignModal;
72
74
  }
73
75
  export type argsFn = (...args: any[]) => void;
74
76
  export interface FormContextProps {
package/lib/index.css CHANGED
@@ -33,6 +33,27 @@
33
33
  align-items: center;
34
34
  min-height: 32px;
35
35
  }
36
+ .ant-hw-form-base-item-top-left .ant-form-item-label > label {
37
+ height: auto;
38
+ }
39
+ .ant-hw-form-base-item-top-left .ant-hw-form-item-colon {
40
+ text-align: left;
41
+ }
42
+ .ant-hw-form-base-item-top-right .ant-form-item-label > label {
43
+ height: auto;
44
+ }
45
+ .ant-hw-form-base-item-top-right .ant-hw-form-item-colon {
46
+ text-align: right;
47
+ }
48
+ .ant-hw-form-base-item-top .ant-form-item-label > label {
49
+ height: auto;
50
+ }
51
+ .ant-hw-form-base-item-right .ant-hw-form-item-colon {
52
+ text-align: right;
53
+ }
54
+ .ant-hw-form-base-item-left .ant-hw-form-item-colon {
55
+ text-align: left;
56
+ }
36
57
  .ant-hw-color-box {
37
58
  width: 22px;
38
59
  height: 22px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hw-component/form",
3
- "version": "0.0.9-beta-v12",
3
+ "version": "0.0.9-beta-v16",
4
4
  "description": "基于antd二次开发",
5
5
  "repository": {
6
6
  "type": "git",
@@ -3,7 +3,7 @@ import { Form, Space, Col } from "antd";
3
3
  import React from "react";
4
4
  import Helper from "./Helper";
5
5
  import { useClassName } from "../../hooks";
6
- import { useHide } from "./hooks";
6
+ import { useHide, usePositionClassName } from "./hooks";
7
7
  import { useFormContext } from "../Context";
8
8
  import type { HItemProps } from "../modal";
9
9
  import { useDefaultRender } from "../hooks/useDefaultRender";
@@ -30,7 +30,6 @@ const Content: React.FC<ContentProps> = ({
30
30
  </Space>
31
31
  );
32
32
  };
33
-
34
33
  const Index: React.FC<HFormItemProps> = (props) => {
35
34
  const {
36
35
  hover,
@@ -48,10 +47,11 @@ const Index: React.FC<HFormItemProps> = (props) => {
48
47
  labelAlign,
49
48
  ...oProps
50
49
  } = props;
51
- const { labelAlign: align, ...inProps } = props;
50
+ const { labelAlign: align = "right", ...inProps } = props;
52
51
  const { form } = useFormContext();
53
52
  const defaultComponent = useDefaultComponents();
54
53
  const defaultRender = useDefaultRender(inProps, defaultComponent);
54
+ const className = usePositionClassName(align);
55
55
  const hideItem = useHide({ hide, form });
56
56
  if (hideItem) {
57
57
  return null;
@@ -59,6 +59,7 @@ const Index: React.FC<HFormItemProps> = (props) => {
59
59
  return (
60
60
  <Col {...itemSpan}>
61
61
  <Form.Item
62
+ className={className}
62
63
  label={
63
64
  !hideLabel && (
64
65
  <Label
@@ -66,7 +67,6 @@ const Index: React.FC<HFormItemProps> = (props) => {
66
67
  labelWidth={labelWidth}
67
68
  required={required}
68
69
  colon={colon}
69
- align={labelAlign}
70
70
  >
71
71
  {label}
72
72
  </Label>
@@ -2,6 +2,8 @@ import UpFormItem from "./UpFormItem";
2
2
  import RegularFormItem from "./RegularFormItem";
3
3
  import { useMemo } from "react";
4
4
  import type { HFormInstance, HItemProps } from "../modal";
5
+ import type { LabelAlignModal } from "../modal";
6
+ import { useClassName } from "../../hooks";
5
7
 
6
8
  export const useFormItemDomControl = ({
7
9
  shouldUpdate,
@@ -38,3 +40,15 @@ export const useHide = ({ hide, form }: UseHideUpItemModal) => {
38
40
  }
39
41
  return !!hide;
40
42
  };
43
+
44
+ const classNameData = {
45
+ top: "hw-form-base-item-top",
46
+ left: "hw-form-base-item-left",
47
+ right: "hw-form-base-item-right",
48
+ topRight: "hw-form-base-item-top-right",
49
+ topLeft: "hw-form-base-item-top-left",
50
+ };
51
+ export const usePositionClassName = (position: LabelAlignModal) => {
52
+ const className = classNameData[position];
53
+ return useClassName(className);
54
+ };
@@ -9,7 +9,6 @@ interface IProps {
9
9
  hover?: string | HoverModal;
10
10
  colon?: boolean;
11
11
  required?: boolean;
12
- align?: "left" | "right";
13
12
  }
14
13
  const useHover = ({ hover }: IProps) => {
15
14
  if (!hover || typeof hover === "string") {
@@ -26,7 +25,6 @@ const Index: React.FC<IProps> = ({
26
25
  colon,
27
26
  required,
28
27
  hover,
29
- align = "right",
30
28
  }) => {
31
29
  const { text, icon } = useHover({ hover });
32
30
  const array = [
@@ -36,7 +34,7 @@ const Index: React.FC<IProps> = ({
36
34
 
37
35
  const className = useClassName(array);
38
36
  return (
39
- <div style={{ width: labelWidth, textAlign: align }} className={className}>
37
+ <div style={{ width: labelWidth }} className={className}>
40
38
  {children}
41
39
  {text && (
42
40
  <span style={{ marginLeft: 4 }}>
@@ -20,3 +20,35 @@
20
20
  align-items: center;
21
21
  min-height: 32px;
22
22
  }
23
+ .@{ant-prefix}-hw-form-base-item-top-left {
24
+ .@{ant-prefix}-form-item-label > label {
25
+ height: auto;
26
+ }
27
+ .@{ant-prefix}-hw-form-item-colon {
28
+ text-align: left;
29
+ }
30
+ }
31
+ .@{ant-prefix}-hw-form-base-item-top-right {
32
+ .@{ant-prefix}-form-item-label > label {
33
+ height: auto;
34
+ }
35
+ .@{ant-prefix}-hw-form-item-colon {
36
+ text-align: right;
37
+ }
38
+ }
39
+ .@{ant-prefix}-hw-form-base-item-top {
40
+ .@{ant-prefix}-form-item-label > label {
41
+ height: auto;
42
+ }
43
+ }
44
+ .@{ant-prefix}-hw-form-base-item-right {
45
+ .@{ant-prefix}-hw-form-item-colon {
46
+ text-align: right;
47
+ }
48
+ }
49
+
50
+ .@{ant-prefix}-hw-form-base-item-left {
51
+ .@{ant-prefix}-hw-form-item-colon {
52
+ text-align: left;
53
+ }
54
+ }
@@ -80,15 +80,16 @@ export default ({
80
80
  labelWidth: itemLabelWidth,
81
81
  hideLabel = formHideLabel,
82
82
  labelAlign = formLabelAlign,
83
+ name
83
84
  } = itemData;
84
85
  return (
85
86
  <Item
86
87
  {...itemData}
87
- key={index}
88
+ labelAlign={labelAlign}
89
+ key={name||index}
88
90
  hideLabel={hideLabel}
89
91
  itemSpan={itemSpan}
90
92
  labelWidth={itemLabelWidth || labelWidth}
91
- labelAlign={labelAlign}
92
93
  />
93
94
  );
94
95
  })}
@@ -75,7 +75,9 @@ export interface DispatchModal<T = string | string[]> {
75
75
  manual?: boolean;
76
76
  reset?: boolean;
77
77
  }
78
- export interface HItemProps extends Omit<FormItemProps, "name"> {
78
+ export type LabelAlignModal = "left" | "right" | "topLeft" | "topRight" | "top";
79
+
80
+ export interface HItemProps extends Omit<FormItemProps, "name"|"labelAlign"> {
79
81
  type?: string;
80
82
  itemProps?: ItemPropsType;
81
83
  render?: RenderFun;
@@ -90,10 +92,10 @@ export interface HItemProps extends Omit<FormItemProps, "name"> {
90
92
  dispatch?: DispatchModal;
91
93
  itemSpan?: ColProps;
92
94
  hideLabel?: boolean;
95
+ labelAlign?: LabelAlignModal;
93
96
  }
94
-
95
97
  export interface HFormProps<T = any, R = any>
96
- extends Omit<FormProps, "form" | "onFinish"> {
98
+ extends Omit<FormProps, "form" | "onFinish"|"labelAlign"> {
97
99
  configData: HItemProps[];
98
100
  labelWidth?: number;
99
101
  request?: (values: T, params?: any) => Promise<R>;
@@ -106,7 +108,7 @@ export interface HFormProps<T = any, R = any>
106
108
  hideLabel?: boolean;
107
109
  gutter?: Gutter | [Gutter, Gutter];
108
110
  submitLoading?: boolean;
109
- labelAlign?: "left" | "right";
111
+ labelAlign?: LabelAlignModal;
110
112
  }
111
113
  export interface HFormItemProps extends HItemProps {
112
114
  required?: boolean;
@@ -115,7 +117,7 @@ export interface HFormItemProps extends HItemProps {
115
117
  itemSpan?: ColProps;
116
118
  initValueProvider?: AddValueFormat;
117
119
  subProvider?: AddValueFormat;
118
- labelAlign?: "left" | "right";
120
+ labelAlign?: LabelAlignModal;
119
121
  }
120
122
  export type argsFn = (...args: any[]) => void;
121
123
  export interface FormContextProps {
@@ -14,64 +14,6 @@ const formData = (options) => {
14
14
  },
15
15
  ];
16
16
  return [
17
- {
18
- label: "输入框",
19
- name: "name",
20
- rules: [
21
- () => {
22
- return {
23
- required: true,
24
- };
25
- },
26
- ],
27
- },
28
- {
29
- label: "数字",
30
- name: "sz",
31
- type: "inputNumber",
32
- rules: [{ required: true }],
33
- },
34
- {
35
- label: "下拉框213",
36
- name: "select",
37
- type: "select",
38
- style:{
39
- marginBottom:8
40
- },
41
- dispatch: {
42
- fnKey: "reload",
43
- dependencies: ["selectInput", "sz"],
44
- },
45
- itemProps: {
46
- options: op,
47
- showSearch: true,
48
- allowClear: true,
49
- mode: "multiple",
50
- },
51
- rules: [{ required: true }],
52
- },
53
- {
54
- label: "下拉输入框",
55
- name: "selectInput",
56
- type: "selectInput",
57
- rules: [{ required: true }],
58
- itemProps: {
59
- valueName: {
60
- select: "op",
61
- input: "opInput",
62
- },
63
- selectProps: {
64
- options: [{ label: "测试", value: 1 }],
65
- },
66
- },
67
- },
68
- {
69
- label: "按钮输入框",
70
- name: "buttonInput",
71
- type: "buttonInput",
72
- children: "点击",
73
- rules: [{ required: true }],
74
- },
75
17
  {
76
18
  label: "选择",
77
19
  name: "checkboxGroup",
@@ -83,6 +25,7 @@ const formData = (options) => {
83
25
  { value: "选择2", key: "check2" },
84
26
  ],
85
27
  direction: "vertical",
28
+ labelAlign: "topLeft",
86
29
  },
87
30
  {
88
31
  label: "开关",
@@ -96,100 +39,6 @@ const formData = (options) => {
96
39
  },
97
40
  },
98
41
  },
99
- {
100
- label: "时间",
101
- name: "datePicker",
102
- type: "datePicker",
103
- hover: "时间选择",
104
- helper: "帮助我",
105
- itemProps: {
106
- subProvider: (item, val) => {
107
- return {
108
- datePicker: "fakfjkfjsklfjskljsak",
109
- };
110
- },
111
- },
112
- rules: [{ required: true }],
113
- },
114
- {
115
- label: "时间段",
116
- name: "rangePicker",
117
- type: "rangePicker",
118
- helper: "帮助我",
119
- rules: [{ required: true }],
120
- itemProps: {
121
- valueMap: {
122
- start: "testStart",
123
- end: "testEnd",
124
- },
125
- },
126
- },
127
- {
128
- label: "时分秒",
129
- name: "timePicker",
130
- type: "timePicker",
131
- rules: [{ required: true }],
132
- },
133
- {
134
- label: "文件",
135
- name: "upload",
136
- type: "upload",
137
- rules: [{ required: true }],
138
- },
139
- {
140
- label: "地址文件",
141
- name: "urlUpload",
142
- type: "urlUpload",
143
- itemProps: {
144
- maxCount: 3,
145
- },
146
- rules: [{ required: true }],
147
- },
148
- {
149
- label: "颜色",
150
- name: "colorInput",
151
- type: "colorInput",
152
- },
153
- {
154
- label: "测试",
155
- type: "test",
156
- },
157
- {
158
- label: "多级",
159
- type: "cascader",
160
- name: "cascader",
161
- itemProps: {
162
- options: [
163
- {
164
- value: "多选1",
165
- key: 1,
166
- },
167
- ],
168
- },
169
- },
170
- {
171
- label: "验证码",
172
- type: "verificationCodeInput",
173
- name: "verificationCodeInput",
174
- itemProps: {
175
- request: () => {
176
- return Promise.resolve({ code: 200 });
177
- },
178
- },
179
- },
180
- {
181
- label: "去空input",
182
- type: "trimInput",
183
- name: "trimInput",
184
- },
185
- {
186
- label: "去空textArea",
187
- type: "trimTextArea",
188
- name: "trimTextArea",
189
- },
190
- {
191
- type: "submit",
192
- },
193
42
  {
194
43
  type: "submit",
195
44
  itemProps: {
@@ -270,7 +119,7 @@ export default () => {
270
119
  configData={formData(options)}
271
120
  labelWidth={200}
272
121
  form={form}
273
- labelAlign={"left"}
122
+ labelAlign={"right"}
274
123
  submitLoading={true}
275
124
  onFinish={(value) => {
276
125
  console.log(value);