Skip to content

Commit ad46fc3

Browse files
committed
1. 构建参数新增:transform-react-remove-prop-types
1 parent 5f0fa5e commit ad46fc3

File tree

9 files changed

+798
-714
lines changed

9 files changed

+798
-714
lines changed

lib/Form.js

Lines changed: 421 additions & 385 deletions
Large diffs are not rendered by default.

lib/FormItem.js

Lines changed: 275 additions & 241 deletions
Large diffs are not rendered by default.

lib/NativeInput.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
1515
var _react = _interopRequireDefault(require("react"));
1616

1717
function NativeInput(props) {
18-
const {
19-
component: Component = "input",
20-
value,
21-
inputRef,
22-
onChange
23-
} = props,
24-
others = (0, _objectWithoutProperties2.default)(props, ["component", "value", "inputRef", "onChange"]);
25-
26-
const onInputChange = e => {
27-
const value = e.target.value;
18+
var _props$component = props.component,
19+
Component = _props$component === void 0 ? "input" : _props$component,
20+
value = props.value,
21+
inputRef = props.inputRef,
22+
onChange = props.onChange,
23+
others = (0, _objectWithoutProperties2.default)(props, ["component", "value", "inputRef", "onChange"]);
24+
25+
var onInputChange = function onInputChange(e) {
26+
var value = e.target.value;
2827
onChange && onChange(value, e);
2928
};
3029

lib/useForm.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var _react = _interopRequireDefault(require("react"));
1212

1313
var _FormContext = _interopRequireDefault(require("./FormContext"));
1414

15-
var _default = () => {
15+
var _default = function _default() {
1616
return _react.default.useContext(_FormContext.default);
1717
};
1818

lib/useFormItem.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var _react = _interopRequireDefault(require("react"));
1212

1313
var _FormItemContext = _interopRequireDefault(require("./FormItemContext"));
1414

15-
var _default = () => {
15+
var _default = function _default() {
1616
return _react.default.useContext(_FormItemContext.default);
1717
};
1818

lib/utils.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ function isEmptyValue(value) {
2424
}
2525

2626
function deferred() {
27-
const deferred = {};
28-
deferred.promise = new Promise((resolve, reject) => {
27+
var deferred = {};
28+
deferred.promise = new Promise(function (resolve, reject) {
2929
deferred.resolve = resolve;
3030
deferred.reject = reject;
3131
});

src/Form.js

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -8,49 +8,7 @@ import { isEmptyValue } from "./utils";
88

99
function noop() {}
1010

11-
export default class Form extends React.Component {
12-
static propTypes = {
13-
prefixCls: PropTypes.string,
14-
className: PropTypes.string,
15-
style: PropTypes.object,
16-
path2obj: PropTypes.bool,
17-
defaultFormValue: PropTypes.object,
18-
getDefaultFieldValue: PropTypes.func,
19-
renderFieldExtra: PropTypes.func,
20-
formValue: PropTypes.object,
21-
validators: PropTypes.object,
22-
validateDelay: PropTypes.number,
23-
validateTrigger: PropTypes.oneOf(["blur", "change"]),
24-
asyncTestDelay: PropTypes.number,
25-
component: PropTypes.node,
26-
labelWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
27-
labelStyle: PropTypes.object,
28-
labelClassName: PropTypes.string,
29-
labelPosition: PropTypes.oneOf(["top", "left"]),
30-
controlStyle: PropTypes.object,
31-
controlClassName: PropTypes.string,
32-
clearErrorOnFocus: PropTypes.bool,
33-
inline: PropTypes.bool,
34-
onSubmit: PropTypes.func,
35-
onChange: PropTypes.func,
36-
getInputProps: PropTypes.func
37-
};
38-
39-
static defaultProps = {
40-
prefixCls: "nex-form",
41-
className: "",
42-
style: {},
43-
validators: {},
44-
path2obj: true,
45-
component: "form",
46-
asyncTestDelay: 100,
47-
validateDelay: 0,
48-
validateTrigger: "blur",
49-
labelPosition: "left",
50-
clearErrorOnFocus: true,
51-
inline: false
52-
};
53-
11+
class Form extends React.Component {
5412
static getDerivedStateFromProps(nextProps, prevState) {
5513
return {
5614
formValue: nextProps.formValue || prevState.formValue
@@ -511,3 +469,47 @@ export default class Form extends React.Component {
511469
);
512470
}
513471
}
472+
473+
Form.propTypes = {
474+
prefixCls: PropTypes.string,
475+
className: PropTypes.string,
476+
style: PropTypes.object,
477+
path2obj: PropTypes.bool,
478+
defaultFormValue: PropTypes.object,
479+
getDefaultFieldValue: PropTypes.func,
480+
renderFieldExtra: PropTypes.func,
481+
formValue: PropTypes.object,
482+
validators: PropTypes.object,
483+
validateDelay: PropTypes.number,
484+
validateTrigger: PropTypes.oneOf(["blur", "change"]),
485+
asyncTestDelay: PropTypes.number,
486+
component: PropTypes.node,
487+
labelWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
488+
labelStyle: PropTypes.object,
489+
labelClassName: PropTypes.string,
490+
labelPosition: PropTypes.oneOf(["top", "left"]),
491+
controlStyle: PropTypes.object,
492+
controlClassName: PropTypes.string,
493+
clearErrorOnFocus: PropTypes.bool,
494+
inline: PropTypes.bool,
495+
onSubmit: PropTypes.func,
496+
onChange: PropTypes.func,
497+
getInputProps: PropTypes.func
498+
};
499+
500+
Form.defaultProps = {
501+
prefixCls: "nex-form",
502+
className: "",
503+
style: {},
504+
validators: {},
505+
path2obj: true,
506+
component: "form",
507+
asyncTestDelay: 100,
508+
validateDelay: 0,
509+
validateTrigger: "blur",
510+
labelPosition: "left",
511+
clearErrorOnFocus: true,
512+
inline: false
513+
};
514+
515+
export default Form;

src/FormItem.js

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,9 @@ import classnames from "classnames";
44
import FormContext from "./FormContext";
55
import FormItemContext from "./FormItemContext";
66

7-
export default class FormItem extends React.Component {
7+
class FormItem extends React.Component {
88
static contextType = FormContext;
99

10-
static propTypes = {
11-
children: PropTypes.oneOfType([PropTypes.func, PropTypes.node])
12-
.isRequired,
13-
name: PropTypes.string,
14-
style: PropTypes.object,
15-
className: PropTypes.string,
16-
label: PropTypes.node,
17-
labelFor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
18-
labelWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
19-
labelStyle: PropTypes.object,
20-
labelClassName: PropTypes.string,
21-
labelPosition: PropTypes.oneOf(["top", "left"]),
22-
controlStyle: PropTypes.object,
23-
controlClassName: PropTypes.string,
24-
validator: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),
25-
required: PropTypes.bool,
26-
requiredMessage: PropTypes.string,
27-
clearErrorOnFocus: PropTypes.bool,
28-
normalize: PropTypes.func,
29-
renderExtra: PropTypes.func,
30-
validateDelay: PropTypes.number,
31-
validateTrigger: PropTypes.oneOf(["blur", "change"]),
32-
inline: PropTypes.bool
33-
};
34-
35-
static defaultProps = {
36-
prefixCls: "nex-form-item"
37-
// requiredMessage: "不能为空"
38-
};
39-
4010
constructor(...args) {
4111
super(...args);
4212
const form = this.context;
@@ -318,3 +288,34 @@ export default class FormItem extends React.Component {
318288
);
319289
}
320290
}
291+
292+
FormItem.propTypes = {
293+
children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]).isRequired,
294+
name: PropTypes.string,
295+
style: PropTypes.object,
296+
className: PropTypes.string,
297+
label: PropTypes.node,
298+
labelFor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
299+
labelWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
300+
labelStyle: PropTypes.object,
301+
labelClassName: PropTypes.string,
302+
labelPosition: PropTypes.oneOf(["top", "left"]),
303+
controlStyle: PropTypes.object,
304+
controlClassName: PropTypes.string,
305+
validator: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),
306+
required: PropTypes.bool,
307+
requiredMessage: PropTypes.string,
308+
clearErrorOnFocus: PropTypes.bool,
309+
normalize: PropTypes.func,
310+
renderExtra: PropTypes.func,
311+
validateDelay: PropTypes.number,
312+
validateTrigger: PropTypes.oneOf(["blur", "change"]),
313+
inline: PropTypes.bool
314+
};
315+
316+
FormItem.defaultProps = {
317+
prefixCls: "nex-form-item"
318+
// requiredMessage: "不能为空"
319+
};
320+
321+
export default FormItem;

transform-es.config.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
module.exports = function() {
2+
return {
3+
babelOptions: {
4+
plugins: [
5+
[
6+
"babel-plugin-transform-react-remove-prop-types",
7+
{ mode: "wrap" }
8+
]
9+
]
10+
}
11+
};
12+
};

0 commit comments

Comments
 (0)