Go to file
三咲智子 c68d59c6a0
refactor(components): refactor menu (#3639)
* refactor(menu): rename to kebab-case

* refactor(menu): rename RootMenuProvider to MenuProvider

* refactor(menu): rename menu.type to types

* refactor(menu): extract menu props and emits

* refactor(menu): change sub-menu.vue to ts

* refactor(menu): extract menu-item-group props and emits

* refactor(menu): extract menu-item props and emits

* refactor(menu): extract sub-menu props and emits

* refactor(menu): rename type RegisterMenuItem to MenuItemRegistered

* refactor(menu): MenuProvider ref to reactive

* refactor(menu): MenuProvider remove methods

* refactor(menu): change submenus to subMenus

* refactor(menu): remove RootMenuProps type

* refactor(menu): MenuProvider improve types & rename submenu to subMenu

* refactor(menu): menu add block to provide

* refactor(menu): menu improve expose

* refactor(menu): menu improve render types

* refactor(menu): menu refactor types & change handle(Sub)MenuItemClick params

* refactor(menu): menu refactor types

* refactor(menu): menu-item-group improve types

* refactor(menu): menu-item improve types

* refactor(menu): sub-menu improve types

* refactor(menu): use-menu improve types

* refactor(menu): sub-menu fix types

* refactor(menu): menu-collapse-transition improve types

* refactor(menu): menu-item-group improve template

* refactor(menu): menu-item rename emit param

* refactor(menu): finally improve types

* fix lint

* chore: re-order import

* chore: remove reactive
2021-09-28 10:59:22 +08:00
.github refactor(dev): drop babel (#3678) 2021-09-27 15:25:58 +08:00
.husky refactor: upgrade to husky@7 & lint-staged@11 & commitlint@13 (#3239) 2021-09-05 01:33:56 +08:00
.vscode build: parallel build (#3416) 2021-09-26 01:29:07 +08:00
build feat(build): support esm and minified full bundle (#3677) 2021-09-27 15:24:45 +08:00
docs fix(docs): quote to tip 2021-09-27 23:01:10 +08:00
packages refactor(components): refactor menu (#3639) 2021-09-28 10:59:22 +08:00
play chore: upgrade dependencies (#3625) 2021-09-26 00:07:33 +08:00
scripts build: parallel build (#3416) 2021-09-26 01:29:07 +08:00
typings feat(dev): add global component types for volar (#3624) 2021-09-26 00:06:46 +08:00
.editorconfig feat/add-storybook 2020-07-24 19:20:37 +08:00
.eslintignore chore: make eslint works in docs folder (#3582) 2021-09-23 14:16:37 +08:00
.eslintrc.js chore: make eslint works in docs folder (#3582) 2021-09-23 14:16:37 +08:00
.gitattributes chore(project): improve prettier format (#3236) 2021-09-05 00:53:31 +08:00
.gitignore refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
.markdownlint.json feat(components): add virtual tree (#3398) 2021-09-27 11:12:50 +08:00
.npmrc refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
.nvmrc refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
.prettierignore refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
.prettierrc chore(project): improve prettier format (#3236) 2021-09-05 00:53:31 +08:00
CHANGELOG.en-US.md Update CHANGELOG.en-US.md 2021-09-27 11:36:06 +08:00
CODE_OF_CONDUCT.md style: use prettier (#3228) 2021-09-04 19:29:28 +08:00
commitlint.config.js refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
DEV_FAQ.md build: parallel build (#3416) 2021-09-26 01:29:07 +08:00
jest.config.js refactor(dev): drop babel (#3678) 2021-09-27 15:25:58 +08:00
LICENSE Create LICENSE 2020-08-18 13:53:45 +08:00
package.json refactor(dev): drop babel (#3678) 2021-09-27 15:25:58 +08:00
pnpm-lock.yaml refactor(dev): drop babel (#3678) 2021-09-27 15:25:58 +08:00
pnpm-workspace.yaml refactor: replace yarn with pnpm (#3571) 2021-09-23 08:12:37 +08:00
README.md chore(project): update README demo link (#3693) 2021-09-28 00:19:30 +08:00
tsconfig.dts.json style: use prettier (#3228) 2021-09-04 19:29:28 +08:00
tsconfig.json refactor(components): refactor button (#3341) 2021-09-12 19:38:48 +08:00


Element Plus - A Vue.js 3 UI library

  • 💪 Vue 3 Composition API
  • 🔥 Written in TypeScript

Archived website

If you are looking for previous version website, here is the link.

Element Plus Documentation Archived

The new website is launched at 17th Sep 2021.

Status: Beta

This project is still under heavy development. Feel free to join us and make your first pull request.

Playground

Try it with code sandbox

Edit element-plus

Try it with our built-in playground

Playground

Special thanks to the generous sponsorship by:



Translations

Element Plus is translated to multiple languages, you can click the badge to help up update the translation or apply to become a proofreader Crowdin

Documentation

You can find for more details, API, and other docs on https://element-plus.org

国内加速镜像站点

Join our Discord to start communicating with everybody.

Breaking change list

You can find the breaking change list here: Breaking Change List.

Bootstrap project

With command

$ pnpm i

the project will install all dependencies

Website preview

With command

$ pnpm docs:dev

the project will launch website for you to preview all existing component

Local development

  1. With command
$ pnpm dev

will start the local development environment

  1. Add your component into play/play.vue

play.vue

<template>
  <ComponentYouAreDeveloping />
</template>

<script setup lang="ts">
// make sure this component is registered in @element-plus/components
import { ComponentYouAreDeveloping } from '@element-plus/components'
</script>

Modify play.vue file per your needs to get things work.

Component migration process

  1. Convert the item in https://github.com/element-plus/element-plus/projects/1 to an issue
  2. Assign yourself to the issue
  3. Author your component by generating new component command below
  4. Migrate tests and docs
  5. Open a new pull request, fill in the component issue link in 1

Generate new component

With command

$ pnpm gen component-name

Note the component-name must be in kebab-case, combining words by replacing each space with a dash.

And component type must be added to packages/element-plus/global.d.ts.

Commit template

With command

pnpm cz

Example

# [TYPE](SCOPE): [el-component-name] DESCRIPTION#[ISSUE]
# example: feat(components): [el-button] add type for form usage #1234

Licence

Element Plus is open source software licensed as MIT.

Contributors

This project wouldn't exist without our amazing contributors