File tree 1 file changed +15
-1
lines changed
1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ export function validateProp (
21
21
const absent = ! hasOwn ( propsData , key )
22
22
let value = propsData [ key ]
23
23
// handle boolean props
24
- if ( getType ( prop . type ) === 'Boolean' ) {
24
+ if ( isBooleanType ( prop . type ) ) {
25
25
if ( absent && ! hasOwn ( prop , 'default' ) ) {
26
26
value = false
27
27
} else if ( value === '' || value === hyphenate ( key ) ) {
@@ -160,3 +160,17 @@ function getType (fn) {
160
160
const match = fn && fn . toString ( ) . match ( / ^ \s * f u n c t i o n ( \w + ) / )
161
161
return match && match [ 1 ]
162
162
}
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