vuejs / language-tools

โšก High-performance Vue language tooling based-on Volar.js
https://marketplace.visualstudio.com/items?itemName=Vue.volar
MIT License
5.56k stars 373 forks source link

Props break when i define data in defineComponent #4363

Closed ardelan869 closed 1 month ago

ardelan869 commented 1 month ago

With data() defined image Without data() defined image

<script lang="ts">
import { defineComponent } from 'vue';
import { vmin } from '@/lib/css';
import ButtonWrapper from './ButtonWrapper.vue';

export default defineComponent({
  name: 'Selection',
  components: {
    ButtonWrapper
  },
  data() {
    return {
      user: {
        id: 123456,
        name: 'ARDELAN ๐Ÿˆ๐Ÿงถ',
        picture:
          'https://www.pcgamesn.com/wp-content/sites/pcgamesn/2022/12/gta-5-dlc-los-santos-drug-wars.jpg'
      }
    };
  },
  methods: {
    vmin
  },
  props: {
    page: {
      type: String,
      default: 'selection',
      validator: (value) => {
        return typeof value === 'string';
      }
    }
  }
});
</script>
ardelan869 commented 1 month ago

It also shows an error when i use the component in another one image

so1ve commented 1 month ago

https://github.com/vuejs/core/issues/9296

ardelan869 commented 1 month ago

vuejs/core#9296

This issue isn't similar. My problem is that all the props become unknown when i define them like this and use data()

props: {
  prop: {
      type: String,
      default: 'selection',
      validator: (value) => {
        return typeof value === 'string';
      }
  }
}

but it works when i use them like this

props: {
  prop: String
}

This Issue comes from the Plugin