Parent variable in Vue 3 not updated when using update-emit on prop
In Vue 3, the .sync modifier has been removed in favor of arguments to v-model (see migration guide)
So
:show.sync="showModal"

now has to be
v-model:show="showModal"


I've the following very simple Vue 3 component:
<template lang="pug">
b-modal(v-model="dshow")
  template(v-slot:default) test
</template>

<script>
export default {
  props: {
    show: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      dshow: false
    }
  },
  watch: {
    show: function () {
      this.dshow = this.show
    },
    dshow: function () {
      this.$emit('update:show', this.dshow)
    }
  }
}
</script>

In my parent component, I'm using this as following:
import demo from 'mymodal.vue'

<template lang="pug">
button.btn.btn-primary.hstack.gap-2(@click="showModal= true") Show Modal!
demo(:show.sync="showModal")
</template>

<script>
export default {
  components: {
    demo
  },
  data() {
    return {
      showModal: false
    }
  }
}
</script>

Now, when I click on my button in the parent, the modal appears and when I close / hide the dialog, the callback for my watched variable dshow is also called. But unfortunately, my parent component isn't informed about the update. So when I click on my button next time, nothing happens, because the showModal hasn't been updated. this.$emit('update:show', this.dshow) is emitted, but the parent value isn't updated.
Any idea on this? I run completely out of ideas on this :-(
