2020-08-18 10:56:04 +08:00
< p align = "center" >
2020-10-13 14:27:15 +08:00
< img width = "300px" src = "https://user-images.githubusercontent.com/10731096/95823103-9ce15780-0d5f-11eb-8010-1bd1b5910d4f.png" >
2020-08-18 10:56:04 +08:00
< / p >
2020-11-30 12:43:20 +08:00
< p align = "center" >
< a href = "https://www.npmjs.org/package/element-plus" >
< img src = "https://img.shields.io/npm/v/element-plus.svg" >
< / a >
< a href = "https://npmcharts.com/compare/element-plus?minimal=true" >
< img src = "http://img.shields.io/npm/dm/element-plus.svg" >
< / a >
< br >
< / p >
2021-09-17 00:18:50 +08:00
< p align = "center" > Element Plus - A Vue.js 3 UI library< / p >
2020-08-18 10:56:04 +08:00
2021-09-17 00:18:50 +08:00
- 💪 Vue 3 Composition API
2021-09-04 19:29:28 +08:00
- 🔥 Written in TypeScript
2020-08-18 10:56:04 +08:00
2020-11-30 12:43:20 +08:00
## Status: Beta
2020-08-18 10:56:04 +08:00
This project is still under heavy development. Feel free to join us and make your first pull request.
2021-09-28 00:19:30 +08:00
### Playground
#### Try it with code sandbox
[![Edit element-plus ](https://codesandbox.io/static/img/play-codesandbox.svg )](https://codesandbox.io/s/element-plus-demo-dxtcr)
#### Try it with our built-in playground
2021-12-27 17:30:12 +08:00
[Playground ](https://element-plus.run/ )
2020-09-27 21:48:53 +08:00
2020-11-27 13:41:53 +08:00
< p align = "center" >
< b > Special thanks to the generous sponsorship by:< / b >
< / p >
< br / >
< table align = "center" cellspacing = "0" cellpadding = "0" >
< tbody >
< tr >
2021-11-04 23:07:42 +08:00
< td align = "center" valign = "middle" >
< a href = "https://www.jnpfsoft.com/index.html?from=elementUI" target = "_blank" >
2021-12-11 13:07:03 +08:00
< img width = "150px" src = "https://user-images.githubusercontent.com/17680888/145664631-bbe85550-4406-4f20-a19f-7e6e844a9b85.png" >
2021-11-04 23:07:42 +08:00
< / a >
< / td >
2020-11-27 13:41:53 +08:00
< td align = "center" valign = "middle" >
< a href = "https://bit.dev/?from=element-ui" target = "_blank" >
< img width = "150px" src = "https://user-images.githubusercontent.com/10095631/41342907-e44e7196-6f2f-11e8-92f2-47702dc8f059.png" >
< / a >
< / td >
2021-07-22 17:03:31 +08:00
< td align = "center" valign = "middle" >
< a href = "https://www.renren.io/?from=element-ui" target = "_blank" >
2021-07-22 19:24:22 +08:00
< img width = "150px" src = "https://user-images.githubusercontent.com/82012629/126620778-0d8ab509-018a-45d7-b8de-a5bac2ad519a.png" >
2021-07-22 17:03:31 +08:00
< / a >
< / td >
2020-11-27 13:41:53 +08:00
< / tr >
< / tbody >
< / table >
2020-08-18 10:56:04 +08:00
---
2020-07-24 19:20:37 +08:00
2021-09-17 00:18:50 +08:00
## 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 ](https://badges.crowdin.net/element-plus/localized.svg )](https://crowdin.com/project/element-plus)
2020-11-30 11:08:34 +08:00
## Documentation
2021-09-04 19:29:28 +08:00
2020-11-30 11:08:34 +08:00
You can find for more details, API, and other docs on [https://element-plus.org ](https://element-plus.org/ )
国内[加速镜像站点](https://element-plus.gitee.io/)
2020-11-18 22:41:22 +08:00
Join our [Discord ](https://discord.link/ElementPlus ) to start communicating with everybody.
2020-08-22 16:52:59 +08:00
2021-07-22 14:31:19 +08:00
## Breaking change list
You can find the breaking change list here: [Breaking Change List ](https://github.com/element-plus/element-plus/issues/162 ).
2020-07-24 19:20:37 +08:00
## Bootstrap project
2021-09-04 19:29:28 +08:00
2020-07-24 19:20:37 +08:00
With command
2021-09-04 19:29:28 +08:00
2020-07-24 19:20:37 +08:00
```bash
2021-09-26 01:29:07 +08:00
$ pnpm i
2020-07-24 19:20:37 +08:00
```
2021-09-04 19:29:28 +08:00
2021-09-23 08:12:37 +08:00
the project will install all dependencies
2020-07-24 19:20:37 +08:00
2020-09-18 16:15:30 +08:00
## Website preview
2021-09-04 19:29:28 +08:00
2020-07-24 19:20:37 +08:00
With command
2021-09-04 19:29:28 +08:00
2020-07-24 19:20:37 +08:00
```bash
2021-09-23 08:12:37 +08:00
$ pnpm docs:dev
2020-07-24 19:20:37 +08:00
```
2021-09-04 19:29:28 +08:00
2020-09-18 16:15:30 +08:00
the project will launch website for you to preview all existing component
2020-07-24 20:29:10 +08:00
2021-09-17 16:42:20 +08:00
## Local development
1. With command
```shell
2021-09-23 08:12:37 +08:00
$ pnpm dev
2021-09-17 16:42:20 +08:00
```
will start the local development environment
2021-10-30 21:33:09 +08:00
2. Add your component into `play/src/App.vue`
2021-09-17 16:42:20 +08:00
2021-10-30 21:33:09 +08:00
> App.vue
2021-09-17 16:42:20 +08:00
```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 >
```
2021-10-30 21:33:09 +08:00
Modify `App.vue` file per your needs to get things work.
2021-09-17 16:42:20 +08:00
2020-08-03 00:08:01 +08:00
## Component migration process
2021-09-04 19:29:28 +08:00
2020-08-03 00:08:01 +08:00
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
2020-07-24 20:29:10 +08:00
## Generate new component
2021-09-04 19:29:28 +08:00
2020-07-24 20:29:10 +08:00
With command
2021-09-04 19:29:28 +08:00
2020-07-24 20:29:10 +08:00
```bash
2021-09-23 08:12:37 +08:00
$ pnpm gen component-name
2020-07-24 20:29:10 +08:00
```
Note the `component-name` must be in `kebab-case` , combining words by replacing each space with a dash.
2020-07-30 10:30:18 +08:00
2021-10-06 19:40:44 +08:00
And component type must be added to `typings/global.d.ts` .
2021-09-26 00:06:46 +08:00
2020-07-30 10:30:18 +08:00
## Commit template
2021-09-04 19:29:28 +08:00
2020-07-30 10:30:18 +08:00
With command
2021-09-04 19:29:28 +08:00
2020-07-30 10:30:18 +08:00
```bash
2021-09-23 08:12:37 +08:00
pnpm cz
2020-07-30 10:30:18 +08:00
```
Example
2021-09-04 19:29:28 +08:00
2020-07-30 10:30:18 +08:00
```
2021-09-17 00:03:11 +08:00
# [TYPE](SCOPE): [el-component-name] DESCRIPTION#[ISSUE]
# example: feat(components): [el-button] add type for form usage #1234
2020-07-30 10:30:18 +08:00
```
2021-12-11 13:07:03 +08:00
## Sponsors
2021-07-22 11:09:53 +08:00
2021-12-11 13:16:25 +08:00
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor ](https://opencollective.com/element-plus#sponsor )
2021-12-11 13:07:03 +08:00
< a href = "https://opencollective.com/element-plus/sponsor/0/website" target = "_blank" > < img src = "https://opencollective.com/element-plus/sponsor/0/avatar.svg" > < / a >
< a href = "https://opencollective.com/element-plus/sponsor/1/website" target = "_blank" > < img src = "https://opencollective.com/element-plus/sponsor/1/avatar.svg" > < / a >
< a href = "https://opencollective.com/element-plus/sponsor/2/website" target = "_blank" > < img src = "https://opencollective.com/element-plus/sponsor/2/avatar.svg" > < / a >
2021-12-11 13:10:56 +08:00
< a href = "https://opencollective.com/element-plus/sponsor/3/website" target = "_blank" > < img src = "https://opencollective.com/element-plus/sponsor/3/avatar.svg" > < / a >
2021-07-22 11:09:53 +08:00
## Contributors
2021-12-11 13:07:03 +08:00
This project exists thanks to all the people who contribute.
And thank you to all our backers! 🙏
2021-07-22 11:09:53 +08:00
< a href = "https://github.com/element-plus/element-plus/graphs/contributors" >
< img src = "https://contrib.rocks/image?repo=element-plus/element-plus" / >
< / a >
2021-12-11 13:07:03 +08:00
## Licence
Element Plus is open source software licensed as
[MIT ](https://github.com/element-plus/element-plus/blob/master/LICENSE ).