Subscribe on changes!

Prop type declaration is not working as expected for Boolean props

avatar
Oct 11th 2021

Version

3.2.20

Reproduction link

github.com

Steps to reproduce

  1. Clone repo and install dependencies
  2. Run npm run build
  3. Run npm run serve
  4. Browse to http://localhost:5000

What is expected?

With type definition in production build, bool prop should have value true when passed in with no value (as documented here)

What is actually happening?

With type definition in production build, bool prop has value "" (empty string) when passed in with no value


This issue only happens in production build: bool prop is evaluated as empty string when passed in with no value. In development envrionment, bool prop is properly recognized as a boolean prop.

When inspecting production build, bool property in props has null value. image

When refactoring from type declaration to runtime declaration, it works normally. In production build, bool property in props has type of Boolean image

avatar
Oct 11th 2021

It would be helpful if the repro provided your actually demonstrate the issue.

avatar
Oct 11th 2021

My bad, I have updated with link to repository, as well as revising description

avatar
Oct 12th 2021

Same issue here. Looks like a regression in production build. This broke us just recently (all our boolean props values suddenly evaluate to false).

edit: @LinusBorg I confirm, this is a regression in 3.2.20. I'd mark this as important 🙏

avatar
Oct 19th 2021

Any updates on the related PR getting merged ?

avatar
Oct 24th 2021

Not work, get open = ''

withDefaults(defineProps<{
   open?: bool
}>(), {
  open: false,
})

Work fine, get open=false

defineProps({
   open: {
      type: Boolean,
      default: false,
   }
})

Both of these codes works fine in v3.2.19