parent
6587ced474
commit
cd2a5d74c3
@ -1,46 +0,0 @@
|
|||||||
import PropTypes from '../../_util/vue-types'
|
|
||||||
import { isLabelInValue } from './util'
|
|
||||||
|
|
||||||
const internalValProp = PropTypes.oneOfType([
|
|
||||||
PropTypes.string,
|
|
||||||
PropTypes.number,
|
|
||||||
])
|
|
||||||
|
|
||||||
export function genArrProps (propType) {
|
|
||||||
return PropTypes.oneOfType([
|
|
||||||
propType,
|
|
||||||
PropTypes.arrayOf(propType),
|
|
||||||
])
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Origin code check `multiple` is true when `treeCheckStrictly` & `labelInValue`.
|
|
||||||
* But in process logic is already cover to array.
|
|
||||||
* Check array is not necessary. Let's simplify this check logic.
|
|
||||||
*/
|
|
||||||
export function valueProp (...args) {
|
|
||||||
const [props, propName, Component] = args
|
|
||||||
|
|
||||||
if (isLabelInValue(props)) {
|
|
||||||
const err = genArrProps(PropTypes.shape({
|
|
||||||
label: PropTypes.node,
|
|
||||||
value: internalValProp,
|
|
||||||
}).loose)(...args)
|
|
||||||
if (err) {
|
|
||||||
return new Error(
|
|
||||||
`Invalid prop \`${propName}\` supplied to \`${Component}\`. ` +
|
|
||||||
`You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead.`
|
|
||||||
)
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
const err = genArrProps(internalValProp)(...args)
|
|
||||||
if (err) {
|
|
||||||
return new Error(
|
|
||||||
`Invalid prop \`${propName}\` supplied to \`${Component}\`. ` +
|
|
||||||
`You should use string or [string] instead.`
|
|
||||||
)
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
Loading…
Reference in new issue