1 | # v-contextmenu@next
|
2 |
|
3 | [![NPM version][badge-npm-version]][url-npm]
|
4 | [![NPM download][badge-npm-download]][url-npm]
|
5 | [![NPM version][badge-language]][url-github]
|
6 | ![License][badge-license]
|
7 | [![Node version][badge-node-version]][url-npm]
|
8 |
|
9 | [![NPM][image-npm]][url-npm]
|
10 |
|
11 | 适用于 **Vue 3.0** 的 **ContextMenu** 组件。
|
12 |
|
13 | > 适用于 Vue 2.0 的文档见 https://github.com/heynext/v-contextmenu/blob/2.x/docs/usage.md
|
14 |
|
15 | **简体中文 | [(WIP) English](./README_EN.md)**
|
16 |
|
17 | ## 🚀 安装
|
18 |
|
19 | ### NPM 安装(推荐)
|
20 |
|
21 | ```bash
|
22 | $ npm i -S v-contextmenu@next # yarn add v-contextmenu@next
|
23 | ```
|
24 |
|
25 | ### CDN 引入
|
26 |
|
27 | 可通过 [unpkg.com/v-contextmenu](https://unpkg.com/v-contextmenu@next/) 获取最新版本的资源,在页面中引入相应 js 和 css 文件即可。
|
28 |
|
29 | ```html
|
30 | <!-- 引入 Vue -->
|
31 | <script src="https://unpkg.com/vue@next"></script>
|
32 |
|
33 | <!-- 引入 VContextmenu 组件 -->
|
34 | <script src="https://unpkg.com/v-contextmenu@next/dist/index.min.js"></script>
|
35 |
|
36 | <!-- 引入 VContextmenu 组件样式 -->
|
37 | <link
|
38 | rel="stylesheet"
|
39 | href="https://unpkg.com/v-contextmenu@next/dist/themes/default.css"
|
40 | />
|
41 | ```
|
42 |
|
43 | ```javascript
|
44 | // 全局注册
|
45 | Vue.use(window.contextmenu);
|
46 |
|
47 | // 或按需注册
|
48 | const { directive, Contextmenu, ContextmenuItem } = window.contextmenu;
|
49 |
|
50 | export default {
|
51 | directives: {
|
52 | contextmenu: directive,
|
53 | },
|
54 |
|
55 | components: {
|
56 | [Contextmenu.name]: Contextmenu,
|
57 | [ContextmenuItem.name]: ContextmenuItem,
|
58 | },
|
59 | };
|
60 | ```
|
61 |
|
62 | ## 🏖 概览
|
63 |
|
64 | [访问在线示例](https://heynext.github.io/v-contextmenu)
|
65 |
|
66 | ![概览](./docs/images/gallery.jpg)
|
67 |
|
68 | ## 🎏 使用
|
69 |
|
70 | ### 全局注册
|
71 |
|
72 | ```javascript
|
73 | import contextmenu from "v-contextmenu";
|
74 | import "v-contextmenu/dist/themes/default.css";
|
75 |
|
76 | Vue.use(contextmenu);
|
77 | ```
|
78 |
|
79 | ```html
|
80 | <template>
|
81 | <v-contextmenu ref="contextmenu">
|
82 | <v-contextmenu-item>菜单1</v-contextmenu-item>
|
83 | <v-contextmenu-item>菜单2</v-contextmenu-item>
|
84 | <v-contextmenu-item>菜单3</v-contextmenu-item>
|
85 | </v-contextmenu>
|
86 |
|
87 | <div v-contextmenu:contextmenu>右键点击此区域</div>
|
88 | </template>
|
89 | ```
|
90 |
|
91 | ### 按需注册
|
92 |
|
93 | ```HTML
|
94 | <template>
|
95 | <v-contextmenu ref="contextmenu">
|
96 | <v-contextmenu-item>菜单1</v-contextmenu-item>
|
97 | <v-contextmenu-item>菜单2</v-contextmenu-item>
|
98 | <v-contextmenu-item>菜单3</v-contextmenu-item>
|
99 | </v-contextmenu>
|
100 |
|
101 | <div v-contextmenu:contextmenu>右键点击此区域</div>
|
102 | </template>
|
103 |
|
104 | <script>
|
105 | import { directive, Contextmenu, ContextmenuItem } from "v-contextmenu";
|
106 | import "v-contextmenu/dist/themes/default.css";
|
107 |
|
108 | export default {
|
109 | directives: {
|
110 | contextmenu: directive,
|
111 | },
|
112 |
|
113 | components: {
|
114 | [Contextmenu.name]: Contextmenu,
|
115 | [ContextmenuItem.name]: ContextmenuItem,
|
116 | }
|
117 | }
|
118 | </script>
|
119 | ```
|
120 |
|
121 | 详细使用方法见 [在线站点][url-homepage] & [文档](./docs/usage.md)
|
122 |
|
123 | ## 🎨 主题
|
124 |
|
125 | **默认**
|
126 |
|
127 | `v-contextmenu@next/dist/themes/default.css`
|
128 |
|
129 | ![default](./docs/images/default.jpg)
|
130 |
|
131 | **亮色**
|
132 |
|
133 | `v-contextmenu@next/dist/themes/bright.css`
|
134 |
|
135 | ![bright](./docs/images/bright.jpg)
|
136 |
|
137 | **暗色**
|
138 |
|
139 | `v-contextmenu@next/dist/themes/dark.css`
|
140 |
|
141 | ![dark](./docs/images/dark.jpg)
|
142 |
|
143 | ## 🛠 开发
|
144 |
|
145 | ```bash
|
146 | $ npm install # 安装依赖
|
147 | $ npm run dev # 启动开发服务
|
148 | ```
|
149 |
|
150 | ## 🤖 构建
|
151 |
|
152 | ```bash
|
153 | $ npm run build # 构建 npm 包
|
154 | $ npm run build:site # 构建站点
|
155 | ```
|
156 |
|
157 | ## 🛎 更新日志
|
158 |
|
159 | 详见 [releases][url-releases]
|
160 |
|
161 | [badge-npm-version]: https://img.shields.io/npm/v/v-contextmenu/next
|
162 | [badge-language]: https://img.shields.io/github/languages/top/heynext/v-contextmenu
|
163 | [badge-node-version]: https://img.shields.io/node/v/v-contextmenu/next
|
164 | [badge-npm-download]: https://img.shields.io/npm/dt/v-contextmenu
|
165 | [badge-license]: https://img.shields.io/github/license/heynext/v-contextmenu.svg
|
166 | [url-npm]: https://npmjs.org/package/v-contextmenu
|
167 | [url-dependencies]: https://david-dm.org/vkbansal/v-contextmenu
|
168 | [url-releases]: https://github.com/heynext/v-contextmenu/releases
|
169 | [url-github]: https://github.com/heynext/v-contextmenu
|
170 | [url-homepage]: https://heynext.github.io/v-contextmenu
|
171 | [image-npm]: https://nodei.co/npm/v-contextmenu.png
|