/** * 根据viewTag删除视图 * * @param state * @param viewTag 视图viewTag */ export const removeViewByViewTag = (state: any, viewTag: string) => { const index = state.appViews.findIndex((appView: any) => Object.is(appView.viewTag, viewTag)); if (index !== -1) { state.appViews.splice(index, 1); } } /** * 根据路由path删除视图 * * @param state * @param path 视图路由 */ export const removeViewByPath = (state: any, path: string) => { const index = state.appViews.findIndex((appView: any) => Object.is(appView.path, path)); if (index !== -1) { state.appViews.splice(index, 1); } } /** * 设置视图数据变化状态 * * @param state * @param param { viewTag, viewDataChange } (视图viewTag, 视图数据改变) */ export const setViewDataChange = (state: any, { viewTag, viewDataChange }: { viewTag: string, viewDataChange: boolean }) => { const appView = state.appViews.find((appView: any) => Object.is(appView.viewTag, viewTag)); if (appView) { appView.viewDataChange = viewDataChange; } else { state.appViews.push({ viewTag, viewDataChange }) } } /** * 初始化appViews集合 * * @param state * @param param { viewTag, path } (视图viewTag, 路由路径) */ export const initAppViews = (state: any, { viewTag, path }: { viewTag: string, path: string }) => { const appView = state.appViews.find((appView: any) => Object.is(appView.viewTag, viewTag)); if (appView) { appView.path = path; } else { state.appViews.push({ viewTag, path }) } }