增加带参路由多页签支持
Former-commit-id: cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly cbc33a78c59c6468df3e905a1bc1f5c513abf804 [formerly 66e615a1681dbb8ff72633fc3d53cbf5411610f5 [formerly 449c1c2a13a19d6d52537b97c18548c012b360dd]]]]] Former-commit-id: 2a7a63bce617f5acaf5c1e4b13455f001f69118d Former-commit-id: 49a1453a0343e1e52cbb1b7faf1d18ffbb0ae519 Former-commit-id: d303a906c5a794ef68376044fb6d9c578e9e85c9 [formerly bc51b43eaa43b3d1744d7edc36d605a6d3d0cd2e] Former-commit-id: 8867f09a27c99223dfd2cb5e66b2b25ca75b49d9 Former-commit-id: 2f01e346f3474822a2ec1f50e02ffcce05dce8a8 Former-commit-id: 8f68a3470559ea51ee3ab7617347eb0236b607f1 Former-commit-id: dbcf55c5cfcb9f52dc8705397a2423f790d7ed82 Former-commit-id: 58abe040aadabc72c1db5acef2f45a7f30874614
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
:x="contentmenuX"
|
:x="contentmenuX"
|
||||||
:y="contentmenuY">
|
:y="contentmenuY">
|
||||||
<d2-contextmenu-list
|
<d2-contextmenu-list
|
||||||
:menulist="tagName === 'index' ? contextmenuListIndex : contextmenuList"
|
:menulist="tagName === '/index' ? contextmenuListIndex : contextmenuList"
|
||||||
@rowClick="contextmenuClick"/>
|
@rowClick="contextmenuClick"/>
|
||||||
</d2-contextmenu>
|
</d2-contextmenu>
|
||||||
<el-tabs
|
<el-tabs
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
v-for="(page, index) in opened"
|
v-for="(page, index) in opened"
|
||||||
:key="index"
|
:key="index"
|
||||||
:label="page.meta.title || '未命名'"
|
:label="page.meta.title || '未命名'"
|
||||||
:name="page.name"/>
|
:name="page.fullPath"/>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,7 +79,7 @@ export default {
|
|||||||
{ icon: 'times', title: '关闭其它', value: 'other' },
|
{ icon: 'times', title: '关闭其它', value: 'other' },
|
||||||
{ icon: 'times-circle', title: '关闭全部', value: 'all' }
|
{ icon: 'times-circle', title: '关闭全部', value: 'all' }
|
||||||
],
|
],
|
||||||
tagName: 'index'
|
tagName: '/index'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -163,7 +163,7 @@ export default {
|
|||||||
*/
|
*/
|
||||||
handleClick (tab, event) {
|
handleClick (tab, event) {
|
||||||
// 找到点击的页面在 tag 列表里是哪个
|
// 找到点击的页面在 tag 列表里是哪个
|
||||||
const page = this.opened.find(page => page.name === tab.name)
|
const page = this.opened.find(page => page.fullPath === tab.name)
|
||||||
const { name, params, query } = page
|
const { name, params, query } = page
|
||||||
if (page) {
|
if (page) {
|
||||||
this.$router.push({ name, params, query })
|
this.$router.push({ name, params, query })
|
||||||
|
|||||||
@@ -58,7 +58,9 @@ export default {
|
|||||||
icon: 'hdd-o',
|
icon: 'hdd-o',
|
||||||
children: [
|
children: [
|
||||||
{ path: `${pre}page-cache/on`, title: '开启缓存' },
|
{ path: `${pre}page-cache/on`, title: '开启缓存' },
|
||||||
{ path: `${pre}page-cache/off`, title: '关闭缓存' }
|
{ path: `${pre}page-cache/off`, title: '关闭缓存' },
|
||||||
|
{ path: `${pre}page-cache/params/1`, title: '带参路由缓存 1' },
|
||||||
|
{ path: `${pre}page-cache/params/2`, title: '带参路由缓存 2' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
22
src/pages/demo/playground/page-cache/params.vue
Normal file
22
src/pages/demo/playground/page-cache/params.vue
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<d2-container type="card">
|
||||||
|
<template slot="header">这个页面会被 keep-alive</template>
|
||||||
|
<h1>编号:{{id}}</h1>
|
||||||
|
<p class="d2-mt-0">在下面的输入框输入任意字符后,切换到其它页面,再回到此页时输入框文字保留,证明被缓存</p>
|
||||||
|
<el-input v-model="value" placeholder="input here"></el-input>
|
||||||
|
</d2-container>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'demo-playground-page-cache-params',
|
||||||
|
props: {
|
||||||
|
id: String
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
value: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -55,9 +55,9 @@ router.afterEach(to => {
|
|||||||
NProgress.done()
|
NProgress.done()
|
||||||
// 需要的信息
|
// 需要的信息
|
||||||
const app = router.app
|
const app = router.app
|
||||||
const { name, params, query } = to
|
const { name, params, query, fullPath } = to
|
||||||
// 多页控制 打开新的页面
|
// 多页控制 打开新的页面
|
||||||
app.$store.dispatch('d2admin/page/open', { name, params, query })
|
app.$store.dispatch('d2admin/page/open', { name, params, query, fullPath })
|
||||||
// 更改标题
|
// 更改标题
|
||||||
util.title(to.meta.title)
|
util.title(to.meta.title)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ export default {
|
|||||||
{ path: 'store/transition', name: `${pre}store-transition`, component: () => import('@/pages/demo/playground/store/transition'), meta: { ...meta, title: '页面过渡开关' } },
|
{ path: 'store/transition', name: `${pre}store-transition`, component: () => import('@/pages/demo/playground/store/transition'), meta: { ...meta, title: '页面过渡开关' } },
|
||||||
{ path: 'page-cache/on', name: `${pre}page-cache-on`, component: () => import('@/pages/demo/playground/page-cache/on.vue'), meta: { ...meta, cache: true, title: '开启缓存' } },
|
{ path: 'page-cache/on', name: `${pre}page-cache-on`, component: () => import('@/pages/demo/playground/page-cache/on.vue'), meta: { ...meta, cache: true, title: '开启缓存' } },
|
||||||
{ path: 'page-cache/off', name: `${pre}page-cache-off`, component: () => import('@/pages/demo/playground/page-cache/off.vue'), meta: { ...meta, title: '关闭缓存' } },
|
{ path: 'page-cache/off', name: `${pre}page-cache-off`, component: () => import('@/pages/demo/playground/page-cache/off.vue'), meta: { ...meta, title: '关闭缓存' } },
|
||||||
|
{ path: 'page-cache/params/:id', name: `${pre}page-cache-params`, component: () => import('@/pages/demo/playground/page-cache/params.vue'), meta: { ...meta, cache: true, title: '带参路由缓存' }, props: true },
|
||||||
{ path: 'page-argu/send', name: `${pre}page-argu-send`, component: () => import('@/pages/demo/playground/page-argu/send.vue'), meta: { ...meta, title: '参数传递 发送' } },
|
{ path: 'page-argu/send', name: `${pre}page-argu-send`, component: () => import('@/pages/demo/playground/page-argu/send.vue'), meta: { ...meta, title: '参数传递 发送' } },
|
||||||
{ path: 'page-argu/get/:username', name: `${pre}page-argu-get`, component: () => import('@/pages/demo/playground/page-argu/get.vue'), meta: { ...meta, title: '参数传递 接收' } },
|
{ path: 'page-argu/get/:username', name: `${pre}page-argu-get`, component: () => import('@/pages/demo/playground/page-argu/get.vue'), meta: { ...meta, title: '参数传递 接收' } },
|
||||||
{ path: 'db/all', name: `${pre}db-all`, component: () => import('@/pages/demo/playground/db/all'), meta: { ...meta, title: '总览' } },
|
{ path: 'db/all', name: `${pre}db-all`, component: () => import('@/pages/demo/playground/db/all'), meta: { ...meta, title: '总览' } },
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export default {
|
|||||||
opened: [
|
opened: [
|
||||||
{
|
{
|
||||||
name: 'index',
|
name: 'index',
|
||||||
|
fullPath: '/index',
|
||||||
meta: {
|
meta: {
|
||||||
title: '首页',
|
title: '首页',
|
||||||
requiresAuth: false
|
requiresAuth: false
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
b640559cb03d106f8ed74403b61a7af0561e5015
|
033fcecc7eeff02cfda00a5ded8a23cb359855f1
|
||||||
Reference in New Issue
Block a user