Fix <select> check of defaultValue/value type (#21611)

This commit is contained in:
Sebastian Markbåge
2021-06-03 09:13:00 -04:00
committed by GitHub
parent 154a8cf328
commit 2418f24b60
+16 -13
View File
@@ -568,19 +568,22 @@ let didWarnSelectedSetOnOption = false;
function checkSelectProp(props, propName) {
if (__DEV__) {
const array = isArray(props[propName]);
if (props.multiple && !array) {
console.error(
'The `%s` prop supplied to <select> must be an array if ' +
'`multiple` is true.',
propName,
);
} else if (!props.multiple && array) {
console.error(
'The `%s` prop supplied to <select> must be a scalar ' +
'value if `multiple` is false.',
propName,
);
const value = props[propName];
if (value != null) {
const array = isArray(value);
if (props.multiple && !array) {
console.error(
'The `%s` prop supplied to <select> must be an array if ' +
'`multiple` is true.',
propName,
);
} else if (!props.multiple && array) {
console.error(
'The `%s` prop supplied to <select> must be a scalar ' +
'value if `multiple` is false.',
propName,
);
}
}
}
}