Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

387
Views
Cómo extraer accesorios comunes con vue3 en SFC `<configuración de script>`

A veces podemos extraer accesorios comunes usando props en la función defineComponent como se muestra a continuación. Ambos funcionan en vue2/vue3 pero no en SFC.

 // common-props.js export default { commonProps: { enabled: Boolean, readonly: Boolean, } } // my-component.vue import { commonProps } from './common-props'; export default { props: { ...commonProps, visible: Boolean, text: { type: String, default: '', } } };

Pero cuando actualizo a <script setup> . Los props están definidos por defineProps que es una macro del compilador. Tengo que intentar usar mecanografiado extendido los accesorios de la siguiente manera. Pero los accesorios combinados no son visibles desde DevTools.

 // common-props.ts export interface CommonProps{ enabled?: boolean, readonly?: boolean, } // my-component.vue <script setup lang="ts"> import CommonProps from './common-props'; interface MyComponentProps extends CommonProps { visible?: boolean, text?: string, } const props = withDefaults(defineProps<ICheckBoxProps>(), { visible: false, text: '', }); </script>

Mi pregunta es cómo extraer accesorios de componentes SFC. Y haga que Vue Devtools pueda reconocer los accesorios extraídos.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Props de solo tipo/declaraciones de emisión

A partir de ahora, el argumento de declaración de tipo debe ser uno de los siguientes para garantizar un análisis estático correcto:

  1. Un literal de tipo
  2. Una referencia a una interfaz o un tipo literal en el mismo archivo

Actualmente, los tipos complejos y las importaciones de tipos de otros archivos no son compatibles. En teoría, es posible admitir importaciones de tipo en el futuro.

Entonces, la respuesta corta es no, actualmente no es posible usar tipos importados cuando se usa la declaración de accesorios de solo tipo

Pero aún puede usar la declaración de accesorios que no son de tipo (basada en objetos) dentro script setup

 // CommonProps.js export default { enabled: Boolean, readonly: Boolean, }
 // Component.vue <script setup lang="ts"> import {ref} from "vue"; import CommonProps from "./CommonProps.js" const props = defineProps({ ...CommonProps, items: { type: Array, default: () => [] } }) </script> <template> <pre>{{ props }}</pre> </template>

Manifestación

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!