Skip to content

Commit

Permalink
fix(Field): no react key props for errors
Browse files Browse the repository at this point in the history
  • Loading branch information
jdkahn committed May 15, 2019
1 parent a4b9b76 commit 93127d6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
2 changes: 1 addition & 1 deletion src/field/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ class Field {
// update error in every Field
Object.keys(errorsGroup).forEach(i => {
const field = this._get(i);
field.errors = errorsGroup[i].errors;
field.errors = getErrorStrs(errorsGroup[i].errors);
field.state = 'error';
});
}
Expand Down
20 changes: 10 additions & 10 deletions src/field/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,18 @@ export function getValueFromEvent(e) {
return target.value;
}

function cloneAndAddKey(element) {
if (element && isValidElement(element) && !element.props.key) {
return cloneElement(element, { key: 'error' });
}
return element;
}

export function getErrorStrs(errors) {
if (errors) {
return errors.map(e => {
if ('message' in e) {
const message = e.message;
// add key for jsx to ignore key warning
if (message && isValidElement(message) && !message.props.key) {
return cloneElement(message, { key: 'error' });
}
return message;
}
return e;
return errors.map(function(e) {
const message = e.message || e;
return cloneAndAddKey(message);
});
}
return errors;
Expand Down

0 comments on commit 93127d6

Please sign in to comment.