mirror of https://github.com/vuejs/core.git
Merge 5d65b1e270
into 56be3dd4db
This commit is contained in:
commit
75f7b61f9b
|
@ -389,15 +389,24 @@ describe('component props', () => {
|
|||
bool: { type: Boolean, required: true },
|
||||
str: { type: String, required: true },
|
||||
num: { type: Number, required: true },
|
||||
null1: { type: null, required: true },
|
||||
null2: { type: null, required: true },
|
||||
null3: { type: null, required: true },
|
||||
},
|
||||
setup() {
|
||||
return () => null
|
||||
},
|
||||
}
|
||||
render(h(Comp), nodeOps.createElement('div'))
|
||||
render(
|
||||
h(Comp, { null2: null, null3: undefined }),
|
||||
nodeOps.createElement('div'),
|
||||
)
|
||||
expect(`Missing required prop: "bool"`).toHaveBeenWarned()
|
||||
expect(`Missing required prop: "str"`).toHaveBeenWarned()
|
||||
expect(`Missing required prop: "num"`).toHaveBeenWarned()
|
||||
expect(`Missing required prop: "null1"`).toHaveBeenWarned()
|
||||
expect(`Missing required prop: "null2"`).toHaveBeenWarned()
|
||||
expect(`Missing required prop: "null3"`).toHaveBeenWarned()
|
||||
})
|
||||
|
||||
test('warn on type mismatch', () => {
|
||||
|
|
|
@ -688,6 +688,11 @@ function validateProp(
|
|||
if (value == null && !required) {
|
||||
return
|
||||
}
|
||||
// null type but required
|
||||
if (type == null && required && value == null) {
|
||||
warn('Missing required prop: "' + name + '"')
|
||||
return
|
||||
}
|
||||
// type check
|
||||
if (type != null && type !== true && !skipCheck) {
|
||||
let isValid = false
|
||||
|
|
Loading…
Reference in New Issue