Skip to content

Commit cc75728

Browse files
committed
perf[v-permission]: refine v-permission demo
1 parent deb6840 commit cc75728

File tree

4 files changed

+55
-25
lines changed

4 files changed

+55
-25
lines changed

src/lang/en.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ export default {
8787
},
8888
permission: {
8989
roles: 'Your roles',
90-
switchRoles: 'Switch roles'
90+
switchRoles: 'Switch roles',
91+
tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.'
9192
},
9293
guide: {
9394
description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',

src/lang/es.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ export default {
8787
},
8888
permission: {
8989
roles: 'Tus permisos',
90-
switchRoles: 'Cambiar permisos'
90+
switchRoles: 'Cambiar permisos',
91+
tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.'
9192
},
9293
guide: {
9394
description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',

src/lang/zh.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ export default {
8787
},
8888
permission: {
8989
roles: '你的权限',
90-
switchRoles: '切换权限'
90+
switchRoles: '切换权限',
91+
tips: '在某些情况下,不适合使用 v-permission。例如:Element-UI 的 Tab 组件或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。'
9192
},
9293
guide: {
9394
description: '引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于',

src/views/permission/directive.vue

Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,53 @@
22
<div class="app-container">
33
<switch-roles @change="handleRolesChange" />
44
<div :key="key" style="margin-top:30px;">
5-
<span v-permission="['admin']" class="permission-alert">
6-
Only
7-
<el-tag class="permission-tag" size="small">admin</el-tag> can see this
8-
</span>
9-
<span v-permission="['editor']" class="permission-alert">
10-
Only
11-
<el-tag class="permission-tag" size="small">editor</el-tag> can see this
12-
</span>
13-
<span v-permission="['admin','editor']" class="permission-alert">
14-
Both
15-
<el-tag class="permission-tag" size="small">admin</el-tag> and
16-
<el-tag class="permission-tag" size="small">editor</el-tag> can see this
17-
</span>
5+
<div>
6+
<span v-permission="['admin']" class="permission-alert">
7+
Only
8+
<el-tag class="permission-tag" size="small">admin</el-tag> can see this
9+
</span>
10+
<el-tag v-permission="['admin']" class="permission-sourceCode" type="info">v-permission="['admin']"</el-tag>
11+
</div>
12+
13+
<div>
14+
<span v-permission="['editor']" class="permission-alert">
15+
Only
16+
<el-tag class="permission-tag" size="small">editor</el-tag> can see this
17+
</span>
18+
<el-tag v-permission="['editor']" class="permission-sourceCode" type="info">v-permission="['editor']"</el-tag>
19+
</div>
20+
21+
<div>
22+
<span v-permission="['admin','editor']" class="permission-alert">
23+
Both
24+
<el-tag class="permission-tag" size="small">admin</el-tag> and
25+
<el-tag class="permission-tag" size="small">editor</el-tag> can see this
26+
</span>
27+
<el-tag v-permission="['admin','editor']" class="permission-sourceCode" type="info">v-permission="['admin','editor']"</el-tag>
28+
</div>
1829
</div>
1930

20-
<div :key="'checkPermission'+key" style="margin-top:30px;">
21-
<code>In some cases it is not suitable to use v-permission, such as element Tab component which can only be achieved by manually setting the v-if.
31+
<div :key="'checkPermission'+key" style="margin-top:60px;">
32+
<code>
33+
{{ $t('permission.tips') }}
2234
<br> e.g.
2335
</code>
24-
<el-tabs type="border-card" style="width:500px;">
25-
<el-tab-pane v-if="checkPermission(['admin'])" label="Admin">Admin can see this</el-tab-pane>
26-
<el-tab-pane v-if="checkPermission(['editor'])" label="Editor">Editor can see this</el-tab-pane>
27-
<el-tab-pane v-if="checkPermission(['admin','editor'])" label="Admin-OR-Editor">Both admin or editor can see this</el-tab-pane>
36+
37+
<el-tabs type="border-card" style="width:550px;">
38+
<el-tab-pane v-if="checkPermission(['admin'])" label="Admin">
39+
Admin can see this
40+
<el-tag class="permission-sourceCode" type="info">v-if="checkPermission(['admin'])"</el-tag>
41+
</el-tab-pane>
42+
43+
<el-tab-pane v-if="checkPermission(['editor'])" label="Editor">
44+
Editor can see this
45+
<el-tag class="permission-sourceCode" type="info">v-if="checkPermission(['editor'])"</el-tag>
46+
</el-tab-pane>
47+
48+
<el-tab-pane v-if="checkPermission(['admin','editor'])" label="Admin-OR-Editor">
49+
Both admin or editor can see this
50+
<el-tag class="permission-sourceCode" type="info">v-if="checkPermission(['admin','editor'])"</el-tag>
51+
</el-tab-pane>
2852
</el-tabs>
2953
</div>
3054
</div>
@@ -57,14 +81,17 @@ export default{
5781
.app-container {
5882
/deep/ .permission-alert {
5983
width: 320px;
60-
margin-top: 30px;
84+
margin-top: 15px;
6185
background-color: #f0f9eb;
6286
color: #67c23a;
6387
padding: 8px 16px;
6488
border-radius: 4px;
65-
display: block;
89+
display: inline-block;
90+
}
91+
/deep/ .permission-sourceCode {
92+
margin-left: 15px;
6693
}
67-
/deep/ .permission-tag{
94+
/deep/ .permission-tag {
6895
background-color: #ecf5ff;
6996
}
7097
}

0 commit comments

Comments
 (0)