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 },
|
bool: { type: Boolean, required: true },
|
||||||
str: { type: String, required: true },
|
str: { type: String, required: true },
|
||||||
num: { type: Number, required: true },
|
num: { type: Number, required: true },
|
||||||
|
null1: { type: null, required: true },
|
||||||
|
null2: { type: null, required: true },
|
||||||
|
null3: { type: null, required: true },
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
return () => null
|
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: "bool"`).toHaveBeenWarned()
|
||||||
expect(`Missing required prop: "str"`).toHaveBeenWarned()
|
expect(`Missing required prop: "str"`).toHaveBeenWarned()
|
||||||
expect(`Missing required prop: "num"`).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', () => {
|
test('warn on type mismatch', () => {
|
||||||
|
|
|
@ -688,6 +688,11 @@ function validateProp(
|
||||||
if (value == null && !required) {
|
if (value == null && !required) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
// null type but required
|
||||||
|
if (type == null && required && value == null) {
|
||||||
|
warn('Missing required prop: "' + name + '"')
|
||||||
|
return
|
||||||
|
}
|
||||||
// type check
|
// type check
|
||||||
if (type != null && type !== true && !skipCheck) {
|
if (type != null && type !== true && !skipCheck) {
|
||||||
let isValid = false
|
let isValid = false
|
||||||
|
|
Loading…
Reference in New Issue