← Back
vue

Validate enum prop in vue

It's very common to validate prop as enum:

<script>
const VALID_TYPES = ['primary', 'secondary', 'warning']
const VALID_SIZES = ['mini', 'small', 'semi-wide', 'wide']

export default {
props: {
type: {
type: [String, Array],
default: 'primary',
validator: type => VALID_TYPES.includes(type),
},
size: {
type: String,
default: 'small',
validator: size => VALID_SIZES.includes(size)
},
},
}
</script>

What happens if default is not provided (and is not required)