@hw-component/form 1.2.5 → 1.2.7

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.
@@ -1,202 +1,187 @@
1
1
  import { HForm, HFormConfigProvider, useHForm } from "../../components";
2
- import { Button, Form, Input } from "antd";
3
- import React from "react";
4
- import {useRequest} from "ahooks";
5
- import {MediaTypeEnum} from "../../components/Upload/enums";
2
+ import { useState } from "react";
3
+ import { Button, DatePicker, Form, Input } from "antd";
6
4
 
7
- const formData = () => {
8
- return [
9
- {
10
- label: "测试",
11
- className: "hdjd",
12
- name:"nameTest"
13
- },
14
- {
15
- label: "测试1",
16
- type: "select",
17
- },
18
- {
19
- label: "测试1",
20
- type: "inputNumber",
21
- },
22
- {
23
- noStyle: true,
24
- render: () => {
25
- return <div>你好a</div>;
26
- },
27
- },
28
- {
29
- label: "时间",
30
- type: "rangePicker",
31
- name: "rangePicker",
32
- itemProps: {
33
- subProvider: () => {
34
- console.log("fff");
5
+ const formData = (options) => {
6
+ const op = [
7
+ {
8
+ key: 1,
9
+ value: "",
35
10
  },
36
- },
37
- },
38
- {
39
- label:(form)=>{
40
- const nameTest=form.getFieldValue("nameTest")
41
- return nameTest;
42
- },
43
- name: "checkboxGroup",
44
- type: "checkboxGroup",
45
- rules: [{ required: true }],
46
- shouldUpdate:()=>{
47
- return true;
48
- },
49
- helper: "帮助我",
50
- options: [
51
- { value: "选择1", key: "check1" },
52
- { value: "选择2", key: "check2" },
53
- ],
54
- direction: "vertical",
55
- labelAlign: "topLeft",
56
- },
57
- {
58
- label: "开关",
59
- name: "switch",
60
- type: "switch",
61
- rules: [{ required: true }],
62
- itemProps: {
63
- valueMap: {
64
- open: 1,
65
- close: 0,
11
+ {
12
+ key: 0,
13
+ value: "否",
66
14
  },
67
- },
68
- },
69
- {
70
- type: "submit",
71
- itemProps: {
72
- extraList: [
73
- <Button
74
- key="wh"
75
- onClick={() => {
76
- console.log("起飞");
77
- }}
78
- >
79
- 芜湖
80
- </Button>,
81
- "666",
82
- "reset",
83
- ],
84
- },
85
- },
86
- {
87
- type: "verificationCodeInput",
88
- name:"verificationCodeInput",
89
- label:"验证码",
90
- itemProps: {
91
- request:()=>{
92
- return new Promise((resolve)=>{
93
- setTimeout(()=>{
94
- resolve({})
95
- },4000);
96
- })
15
+ ];
16
+ return [
17
+ {
18
+ label: "测试",
19
+ className: "hdjd",
20
+ },
21
+ {
22
+ label: "测试1",
23
+ type: "select",
24
+ },
25
+ {
26
+ label: "测试1",
27
+ type: "inputNumber",
28
+ },
29
+ {
30
+ noStyle: true,
31
+ render: () => {
32
+ return <div>你好a</div>;
33
+ },
34
+ },
35
+ {
36
+ label: "时间",
37
+ type: "rangePicker",
38
+ name: "rangePicker",
39
+ itemProps: {
40
+ subProvider: () => {
41
+ console.log("fff");
42
+ },
43
+ },
97
44
  },
98
- buttonProps:{
99
- disabled:({nameTest})=>{
100
- if (nameTest){
101
- return false;
102
- }
103
- return true;
104
- }
105
- }
106
- },
107
- dispatch: {
108
- fnKey: "disabled",
109
- dependencies: ["nameTest"],
110
- manual:false
111
- },
112
- },
113
- {
114
- type: "urlUpload",
115
- name:"urlUpload",
116
- label:"测试",
117
- helper:"123123",
118
- itemProps: {
119
- inputHelper:"fff",
120
- style:{
121
- width:368
45
+ {
46
+ label: "选择",
47
+ name: "checkboxGroup",
48
+ type: "checkboxGroup",
49
+ rules: [{ required: true }],
50
+ helper: "帮助我",
51
+ options: [
52
+ { value: "选择1", key: "check1" },
53
+ { value: "选择2", key: "check2" },
54
+ ],
55
+ direction: "vertical",
56
+ labelAlign: "topLeft",
122
57
  },
123
- mediaType:MediaTypeEnum.video,
124
- maxSize:1024*1024*10,
125
- thumbUrl:"https://inews.gtimg.com/om_bt/OHyQqgC_5oi4Vm0tlH49XvJzqNBHo2Zryxx5F_be5N2cIAA/1000"
126
- }
127
- },
128
- ];
58
+ {
59
+ label: "开关",
60
+ name: "switch",
61
+ type: "switch",
62
+ rules: [{ required: true }],
63
+ itemProps: {
64
+ valueMap: {
65
+ open: 1,
66
+ close: 0,
67
+ },
68
+ },
69
+ },
70
+ {
71
+ type: "submit",
72
+ itemProps: {
73
+ extraList: [
74
+ <Button
75
+ key="wh"
76
+ onClick={() => {
77
+ console.log("起飞");
78
+ }}
79
+ >
80
+ 芜湖
81
+ </Button>,
82
+ "666",
83
+ "reset",
84
+ ],
85
+ },
86
+ },
87
+ {
88
+ type: "submit",
89
+ itemProps: {
90
+ extraList: [
91
+ <Button
92
+ key="wh"
93
+ onClick={() => {
94
+ console.log("起飞");
95
+ }}
96
+ >
97
+ 芜湖
98
+ </Button>,
99
+ <Ttta key="aa" />,
100
+ "666",
101
+ "submit",
102
+ "reset",
103
+ ],
104
+ },
105
+ },
106
+ ];
129
107
  };
130
108
  function Ttta({ form }) {
131
- return (
132
- <div
133
- onClick={() => {
134
- console.log("form", form);
135
- form.setFieldsValue({ switch: 1 });
136
- }}
137
- >
138
- ttta
139
- </div>
140
- );
109
+ return (
110
+ <div
111
+ onClick={() => {
112
+ console.log("form", form);
113
+ form.setFieldsValue({ switch: 1 });
114
+ }}
115
+ >
116
+ ttta
117
+ </div>
118
+ );
141
119
  }
142
120
 
143
121
  const Test = (props) => {
144
- return <div>ffff</div>;
122
+ return <div>ffff</div>;
145
123
  };
146
124
  export default () => {
147
- const form = useHForm();
148
- const [aForm] = Form.useForm();
149
- const {run,loading}=useRequest(async ()=>{
150
- await new Promise((resolve)=>{
151
- setTimeout(()=>{
152
- resolve({})
153
- },2000)
154
- })
155
- },{manual:true});
156
- return (
157
- <div style={{ overflow: "auto", height: "90vh" ,padding:30}}>
158
- <Form form={aForm} initialValues={{ ttim: "132123" }}>
159
- <Form.Item name="ttim" rules={[{ required: true }]}>
160
- <Input />
161
- </Form.Item>
162
- </Form>
163
- <HFormConfigProvider
164
- valueSwitchMap={{ open: 1, close: 2 }}
165
- valueCheckMap={{ noChecked: 0, checked: 1 }}
166
- defaultComponent={{
167
- test: Test,
168
- }}
169
- itemProps={{
170
- style: {
171
- borderRadius: 10,
172
- },
173
- }}
174
- fieldNames={{
175
- label: "value",
176
- value: "key",
177
- }}
178
- >
179
- <HForm
180
- configData={formData()}
181
- labelWidth={200}
182
- form={form}
183
- onFinish={run}
184
- />
185
- </HFormConfigProvider>
186
- <div
187
- onClick={() => {
188
- form.submit();
189
- }}
190
- >
191
- 点我
192
- </div>
193
- <div
194
- onClick={() => {
195
- form.resetFieldsInitValue();
196
- }}
197
- >
198
- 重置
199
- </div>
200
- </div>
201
- );
202
- };
125
+ const form = useHForm();
126
+ const [options, setOptions] = useState([{ label: "1", value: 1 }]);
127
+ const [aForm] = Form.useForm();
128
+ return (
129
+ <div style={{ overflow: "auto", height: "90vh" }}>
130
+ <Form form={aForm} initialValues={{ ttim: "132123" }}>
131
+ <Form.Item name="ttim" rules={[{ required: true }]}>
132
+ <Input />
133
+ </Form.Item>
134
+ </Form>
135
+ <HFormConfigProvider
136
+ valueSwitchMap={{ open: 1, close: 2 }}
137
+ valueCheckMap={{ noChecked: 0, checked: 1 }}
138
+ defaultComponent={{
139
+ test: Test,
140
+ }}
141
+ itemProps={{
142
+ style: {
143
+ borderRadius: 10,
144
+ },
145
+ }}
146
+ fieldNames={{
147
+ label: "value",
148
+ value: "key",
149
+ }}
150
+ >
151
+ <HForm
152
+ configData={formData(options)}
153
+ labelWidth={200}
154
+ form={form}
155
+ labelAlign={"right"}
156
+ onFinish={(value) => {
157
+ console.log(value);
158
+ }}
159
+ onValuesChange={(val) => {
160
+ console.log(val, "onValuesChange");
161
+ }}
162
+ request={(params) => {
163
+ return new Promise<any>((resolve) => {
164
+ setTimeout(() => {
165
+ resolve(params);
166
+ }, 3000);
167
+ });
168
+ }}
169
+ />
170
+ </HFormConfigProvider>
171
+ <div
172
+ onClick={() => {
173
+ aForm.resetFields();
174
+ }}
175
+ >
176
+ 点我
177
+ </div>
178
+ <div
179
+ onClick={() => {
180
+ form.resetFieldsInitValue();
181
+ }}
182
+ >
183
+ 重置
184
+ </div>
185
+ </div>
186
+ );
187
+ };
@@ -20,6 +20,7 @@ export default () => {
20
20
  placeholder="多选"
21
21
  value={selectVal}
22
22
  onChange={(val, option) => {
23
+ console.log(option)
23
24
  setSelectVal(val);
24
25
  }}
25
26
  allSelect={true}