typescript - migración a Vue 3 ¿cómo hacer la extensión de un componente?
Tengo un componente
const DialogMain = Vue.extend(DialogComponent);
export const alertDialog = (text: string) => {
const dialog = new DialogMain({
propsData: {
type: 'alert'
},
});
return new Promise(resolve => {
// resolve reject handle here
}
});
Entonces, cuando migro la aplicación a Vue3 obtengo el error 'extend' no existe en el tipo 'typeof import('....'). Sé que, dado que Vue global ya no es un constructor instanciable, Vue.extend ya no tiene sentido en términos de extensión de constructor. Pero no estoy seguro de cómo escribirlo con defineComponent. ¿Debería ser algo así como
const dialogMain = defineComponent({extends: DialogComponent})
¿Será lo mismo que Vue.extend?
Respuesta #1
¿Has intentado simplemente usar las opciones del componente tal como están?
const DialogMain = defineComponent(DialogComponent)
