• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

306
Views
Agregue componentes element-ui a element plus en main.js vue 3

Estoy tratando de descubrir cómo cambiar los componentes de elementu-ui a element-plus. Parte de mi migración de vue 2 a vue 3. Encuentro que la documentación no está clara sobre cómo registrar componentes en vue 3 en el archivo main.js.

este es el error que me sale

 "export 'Tree' was not found in 'element-plus' warning in ./src/main.js "export 'default' (imported as 'Vue') was not found in 'vue'

Aquí está mi archivo main.js

 import Vue, { createApp, h } from 'vue' import Vue, { createApp, h } from 'vue' import App from './App.vue' import router from './router' import store from './store' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' import { Button, Select, Option, Dropdown, TableColumn, Checkbox, Badge, Divider, Tag, DropdownItem, Pagination, Table, DropdownMenu, Tree, Tooltip, } from 'element-plus' import lang from 'element-plus/lib/locale/lang/en' import locale from 'element-plus/lib/locale' const getCookieConsent = localStorage.getItem('Cookie acceptance') if (typeof getCookieConsent !== 'undefined' && getCookieConsent === 'true') { FullStory.init({ orgId: '14C6AX' }) Vue.prototype.$FullStory = FullStory } locale.use(lang) Vue.component(Tree.name, Tree) Vue.component(Button.name, Button) Vue.component(Divider.name, Divider) Vue.component(Checkbox.name, Checkbox) Vue.component(Pagination.name, Pagination) Vue.component(Tag.name, Tag) Vue.component(Badge.name, Badge) Vue.component(Table.name, Table) Vue.component(TableColumn.name, TableColumn) Vue.component(Select.name, Select) Vue.component(Dropdown.name, Dropdown) Vue.component(DropdownItem.name, DropdownItem) Vue.component(DropdownMenu.name, DropdownMenu) Vue.component(Tooltip.name, Tooltip) Vue.component(Option.name, Option) createApp({ render: () => h(App) }).use(router).use(store).mount('#app')
about 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

En Vue 3, no es posible (o al menos no debería hacerse de esa manera) registrar componentes globalmente. Debe crear una aplicación Vue usando createApp y luego registrar componentes para esta aplicación.

Además, la documentación de element-plus explica todo lo que necesita saber para importar sus componentes.

 // main.js import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' // Create your Vue 3 app const app = createApp(App) // Choice #1: register all components. Impacts global bundle size app.use(ElementPlus, { // options }) app.mount('#app')

Si desea utilizar la sacudida de árboles, simplemente importe los componentes cuando los necesite:

 // my-component.vue // Choice #2: import and register components as you need them import { ElTree } from 'element-plus' export default { components: { ElTree } }

Intente importar todos los componentes con el prefijo El , aparentemente se exportan de esta manera.

about 3 years ago · Juan Pablo Isaza Report

0

Actualicé mi paquete y el código anterior ya no funciona. Por fin modifiqué algo de código y funciona. 1, eliminar vite.config.js

 { libraryName: 'element-plus', libraryDirectory: 'es', style(name) { return `element-plus/theme-chalk/${name}.css`; }, } ])

2, main.js el use(component) para eliminar. Cambiar a:

 import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' app.use(ElementPlus, { // options }) app.component("ElSubmenu", ElMenu.SubMenu); // ElSubmenu seems special to register like this
about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error