File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed
Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ export function validateProp (
2121 const absent = ! hasOwn ( propsData , key )
2222 let value = propsData [ key ]
2323 // handle boolean props
24- if ( getType ( prop . type ) === 'Boolean' ) {
24+ if ( isBooleanType ( prop . type ) ) {
2525 if ( absent && ! hasOwn ( prop , 'default' ) ) {
2626 value = false
2727 } else if ( value === '' || value === hyphenate ( key ) ) {
@@ -160,3 +160,17 @@ function getType (fn) {
160160 const match = fn && fn . toString ( ) . match ( / ^ \s * f u n c t i o n ( \w + ) / )
161161 return match && match [ 1 ]
162162}
163+
164+ function isBooleanType ( fn ) {
165+ const isBoolean = ( fnItem ) => getType ( fnItem ) === 'Boolean'
166+
167+ if ( ! Array . isArray ( fn ) ) {
168+ return isBoolean ( fn )
169+ }
170+ for ( let i = 0 , len = fn . length ; i < len ; i ++ ) {
171+ if ( isBoolean ( fn [ i ] ) ) {
172+ return true
173+ }
174+ }
175+ return false
176+ }
You can’t perform that action at this time.
0 commit comments