Commit c18af0ca authored by chenqikuai's avatar chenqikuai

fix: 修复在文件夹A中添加模板时,新打开的页面默认选中的文件夹不是A的bug

parent df16849f
......@@ -138,6 +138,9 @@ const routes: RouteConfig[] = [
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "add-template" */ '@/views/template/Add.vue'),
props: ({query}) => ({
folderId: query.folderId !== undefined ? Number.parseInt(query.folderId as string, 10) : undefined,
}),
meta: { requiresAuth: true },
},
{
......
......@@ -3,6 +3,7 @@
<!-- 拿到 模板名称和图片地址信息等信息 -->
<base-info
:showBaseInfo.sync="showBaseInfo"
:defaultFolderId="folderId"
@next="baseInfoNext"
@cancel="cancelCreateTempl"
></base-info>
......@@ -36,8 +37,13 @@ import WordsManager from './components/WordsManager.vue';
},
})
export default class Add extends Vue {
@Prop({
required: false,
})
private folderId!: number | undefined;
private showBaseInfo: boolean = true;
/* 创建存证所需要的数据 */
private baseInfo: any = {
templateName: '',
......@@ -45,7 +51,7 @@ export default class Add extends Vue {
imgUrl: '',
};
private words: any[] = [];
private showWordsManager: boolean = false;
private showPreview: boolean = false;
......@@ -59,8 +65,6 @@ export default class Add extends Vue {
};
}
private baseInfoNext(data: any) {
console.log(data);
this.baseInfo = { ...data };
}
private cancelCreateTempl() {
......
......@@ -9,7 +9,7 @@
"
>
<span>{{ folderName }}</span
><router-link to="addTemplate" tag="p" style="color: #3f79fe"
><router-link :to="{ name: 'Add', query: {folderId: id}}" tag="p" style="color: #3f79fe"
>+添加模板</router-link
>
</div>
......
......@@ -63,6 +63,8 @@ import { TEMPLATETYPE } from '@/const/enum';
},
})
export default class BaseInfo extends Vue {
@Prop({required: false}) private defaultFolderId!:number | undefined;
@PropSync('showBaseInfo', {
type: Boolean,
required: true,
......@@ -76,8 +78,14 @@ export default class BaseInfo extends Vue {
private defaultFolderIndex: number = 0;
private defaultFolderName: string = '未分类文件夹';
private mounted() {
this.getFolders();
private async mounted() {
await this.getFolders();
// 如果给组件传递了defaultFolderId,则组件需要显示该id所代表的文件夹。
if(this.defaultFolderId !== undefined){
const folder = this.folderList.find((folder: any) => folder.id === this.defaultFolderId)
this.folder = folder;
}
}
private async getFolders() {
const { results = []} = await this.$api.template.folderList({
......
......@@ -78,6 +78,9 @@ export default class ViewTemplate extends Vue {
handleClickAddTemplate() {
this.$router.push({
name: 'Add',
query: {
folderId: this.folderId.toString()
}
});
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment