Skip to content

Commit 6e0187d

Browse files
committed
v1.2.0
1 parent 935391f commit 6e0187d

File tree

13 files changed

+58
-58
lines changed

13 files changed

+58
-58
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ defaultFormValue?: {};
4646
formValue?: {};
4747
getDefaultFieldValue?: (name: string) => any;
4848
renderFieldExtra?: (
49-
component: FormItem,
50-
name: string
49+
component: FormItem
5150
) => React.ReactNode;
5251
validators?: {
5352
[name: string]: Validator | Validator[];
5453
};
54+
requiredMessage?: string;
5555
validateDelay?: number;
5656
validateTrigger?: ValidateTriggerType | ValidateTriggerType[];
5757
asyncTestDelay?: number;
@@ -66,7 +66,7 @@ clearErrorOnFocus?: boolean;
6666
inline?: boolean;
6767
onSubmit?: (e: React.SyntheticEvent) => void;
6868
onChange?: (formValue: {}) => void;
69-
getInputProps?: (component: FormItem, name: string) => {};
69+
getInputProps?: (component: FormItem) => {};
7070
```
7171

7272
### FormItem

esm/Form.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ function (_React$Component) {
208208
if (fieldProps.required) {
209209
fieldValidators.unshift(function (value) {
210210
if (isEmptyValue(value)) {
211-
return fieldProps.requiredMessage == null ? name + " check fail" : fieldProps.requiredMessage;
211+
return field.getProp("requiredMessage", name + " check fail");
212212
}
213213
});
214214
}
@@ -293,16 +293,16 @@ function (_React$Component) {
293293

294294
if (!validator) {
295295
return; //check finish
296-
}
296+
} // 校验方法返回 true undefined null 代表校验成功,校验失败则直接返回失败信息
297+
297298

298299
var ret = validator(value, formValue, triggerType);
299300

300301
if (ret === true) {
301302
cb();
302303
} else if (ret === false) {
303-
cb(name + " fails");
304+
cb(name + " check fail");
304305
} else if (ret && ret.then) {
305-
//thenable
306306
ret.then(function () {
307307
return cb();
308308
}, function (e) {
@@ -517,13 +517,14 @@ Form.propTypes = process.env.NODE_ENV !== "production" ? {
517517
path2obj: PropTypes.bool,
518518
defaultFormValue: PropTypes.object,
519519
getDefaultFieldValue: PropTypes.func,
520-
renderFieldExtra: PropTypes.func,
520+
renderControlExtra: PropTypes.func,
521521
formValue: PropTypes.object,
522522
validators: PropTypes.object,
523523
validateDelay: PropTypes.number,
524-
validateTrigger: PropTypes.oneOf(["blur", "change"]),
524+
validateTrigger: PropTypes.oneOfType([PropTypes.oneOf(["blur", "change", "none"]), PropTypes.array]),
525525
asyncTestDelay: PropTypes.number,
526526
component: PropTypes.node,
527+
requiredMessage: PropTypes.string,
527528
labelWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
528529
labelStyle: PropTypes.object,
529530
labelClassName: PropTypes.string,

esm/FormItem.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ function (_React$Component) {
185185
var getInputProps = this.getFormProps("getInputProps", function () {
186186
return {};
187187
});
188-
var customProps = getInputProps(this, name);
188+
var customProps = getInputProps(this);
189189
return _extends({
190190
value: this.getValue()
191191
}, customProps, {
@@ -250,15 +250,16 @@ function (_React$Component) {
250250
children = _this$props2.children;
251251
var inline = this.getProp("inline");
252252
var labelPosition = this.getProp("labelPosition");
253-
var renderFieldExtra = this.getFormProps("renderFieldExtra");
253+
254+
var _renderControlExtra = this.getFormProps("renderControlExtra");
254255

255256
var renderControlExtra = function renderControlExtra() {
256257
if (renderExtra) {
257258
return renderExtra(_this4);
258259
}
259260

260-
if (renderFieldExtra) {
261-
return renderFieldExtra(_this4, name);
261+
if (_renderControlExtra) {
262+
return _renderControlExtra(_this4);
262263
}
263264

264265
return null;
@@ -314,7 +315,6 @@ FormItem.propTypes = process.env.NODE_ENV !== "production" ? {
314315
inline: PropTypes.bool
315316
} : {};
316317
FormItem.defaultProps = {
317-
prefixCls: "nex-form-item" // requiredMessage: "不能为空"
318-
318+
prefixCls: "nex-form-item"
319319
};
320320
export default FormItem;

esm/index.d.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,11 @@ declare namespace ReactWidgetForm {
1717
defaultFormValue?: {};
1818
formValue?: {};
1919
getDefaultFieldValue?: (name: string) => any;
20-
renderFieldExtra?: (
21-
component: FormItem,
22-
name: string
23-
) => React.ReactNode;
20+
renderControlExtra?: (component: FormItem) => React.ReactNode;
2421
validators?: {
2522
[name: string]: Validator | Validator[];
2623
};
24+
requiredMessage?: string;
2725
validateDelay?: number;
2826
validateTrigger?: ValidateTriggerType | ValidateTriggerType[];
2927
asyncTestDelay?: number;
@@ -38,7 +36,7 @@ declare namespace ReactWidgetForm {
3836
inline?: boolean;
3937
onSubmit?: (e: React.SyntheticEvent) => void;
4038
onChange?: (formValue: {}) => void;
41-
getInputProps?: (component: FormItem, name: string) => {};
39+
getInputProps?: (component: FormItem) => {};
4240
}
4341
interface FormItemProps {
4442
children:

examples/demos/demo1.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ function FormItemField({
1111
return (
1212
<FormItem
1313
{...resetProps}
14-
requiredMessage="不能为空"
1514
style={{
1615
marginBottom: 24
1716
}}
@@ -82,11 +81,12 @@ export default class DEMO extends Component {
8281
labelWidth={80}
8382
validateTrigger={["change", "blur"]}
8483
getDefaultFieldValue={() => ""}
84+
requiredMessage="不能为空"
8585
ref={form => (this.form = form)}
8686
// formValue={formValue}
8787
onChange={formValue => this.setState({ formValue })}
8888
onSubmit={this.onSubmit}
89-
renderFieldExtra={this.renderFieldExtra}
89+
renderControlExtra={this.renderFieldExtra}
9090
>
9191
<div>
9292
<FormItemField

examples/demos/demo2.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ export default class DEMO extends Component {
8787
validators={this.getRules()}
8888
onChange={formValue => this.setState({ formValue })}
8989
onSubmit={this.onSubmit}
90-
renderFieldExtra={this.renderFieldExtra}
90+
renderControlExtra={this.renderFieldExtra}
9191
validateTrigger="blur"
9292
inline
9393
>

lib/Form.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ function (_React$Component) {
219219
if (fieldProps.required) {
220220
fieldValidators.unshift(function (value) {
221221
if ((0, _utils.isEmptyValue)(value)) {
222-
return fieldProps.requiredMessage == null ? name + " check fail" : fieldProps.requiredMessage;
222+
return field.getProp("requiredMessage", name + " check fail");
223223
}
224224
});
225225
}
@@ -304,16 +304,16 @@ function (_React$Component) {
304304

305305
if (!validator) {
306306
return; //check finish
307-
}
307+
} // 校验方法返回 true undefined null 代表校验成功,校验失败则直接返回失败信息
308+
308309

309310
var ret = validator(value, formValue, triggerType);
310311

311312
if (ret === true) {
312313
cb();
313314
} else if (ret === false) {
314-
cb(name + " fails");
315+
cb(name + " check fail");
315316
} else if (ret && ret.then) {
316-
//thenable
317317
ret.then(function () {
318318
return cb();
319319
}, function (e) {
@@ -528,13 +528,14 @@ Form.propTypes = process.env.NODE_ENV !== "production" ? {
528528
path2obj: _propTypes.default.bool,
529529
defaultFormValue: _propTypes.default.object,
530530
getDefaultFieldValue: _propTypes.default.func,
531-
renderFieldExtra: _propTypes.default.func,
531+
renderControlExtra: _propTypes.default.func,
532532
formValue: _propTypes.default.object,
533533
validators: _propTypes.default.object,
534534
validateDelay: _propTypes.default.number,
535-
validateTrigger: _propTypes.default.oneOf(["blur", "change"]),
535+
validateTrigger: _propTypes.default.oneOfType([_propTypes.default.oneOf(["blur", "change", "none"]), _propTypes.default.array]),
536536
asyncTestDelay: _propTypes.default.number,
537537
component: _propTypes.default.node,
538+
requiredMessage: _propTypes.default.string,
538539
labelWidth: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
539540
labelStyle: _propTypes.default.object,
540541
labelClassName: _propTypes.default.string,

lib/FormItem.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ function (_React$Component) {
197197
var getInputProps = this.getFormProps("getInputProps", function () {
198198
return {};
199199
});
200-
var customProps = getInputProps(this, name);
200+
var customProps = getInputProps(this);
201201
return (0, _extends2.default)({
202202
value: this.getValue()
203203
}, customProps, {
@@ -262,15 +262,16 @@ function (_React$Component) {
262262
children = _this$props2.children;
263263
var inline = this.getProp("inline");
264264
var labelPosition = this.getProp("labelPosition");
265-
var renderFieldExtra = this.getFormProps("renderFieldExtra");
265+
266+
var _renderControlExtra = this.getFormProps("renderControlExtra");
266267

267268
var renderControlExtra = function renderControlExtra() {
268269
if (renderExtra) {
269270
return renderExtra(_this4);
270271
}
271272

272-
if (renderFieldExtra) {
273-
return renderFieldExtra(_this4, name);
273+
if (_renderControlExtra) {
274+
return _renderControlExtra(_this4);
274275
}
275276

276277
return null;
@@ -325,8 +326,7 @@ FormItem.propTypes = process.env.NODE_ENV !== "production" ? {
325326
inline: _propTypes.default.bool
326327
} : {};
327328
FormItem.defaultProps = {
328-
prefixCls: "nex-form-item" // requiredMessage: "不能为空"
329-
329+
prefixCls: "nex-form-item"
330330
};
331331
var _default = FormItem;
332332
exports.default = _default;

lib/index.d.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,11 @@ declare namespace ReactWidgetForm {
1717
defaultFormValue?: {};
1818
formValue?: {};
1919
getDefaultFieldValue?: (name: string) => any;
20-
renderFieldExtra?: (
21-
component: FormItem,
22-
name: string
23-
) => React.ReactNode;
20+
renderControlExtra?: (component: FormItem) => React.ReactNode;
2421
validators?: {
2522
[name: string]: Validator | Validator[];
2623
};
24+
requiredMessage?: string;
2725
validateDelay?: number;
2826
validateTrigger?: ValidateTriggerType | ValidateTriggerType[];
2927
asyncTestDelay?: number;
@@ -38,7 +36,7 @@ declare namespace ReactWidgetForm {
3836
inline?: boolean;
3937
onSubmit?: (e: React.SyntheticEvent) => void;
4038
onChange?: (formValue: {}) => void;
41-
getInputProps?: (component: FormItem, name: string) => {};
39+
getInputProps?: (component: FormItem) => {};
4240
}
4341
interface FormItemProps {
4442
children:

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-widget-form",
3-
"version": "1.1.1",
3+
"version": "1.2.0",
44
"description": "",
55
"main": "lib/index.js",
66
"module": "esm/index.js",

0 commit comments

Comments
 (0)