Commit 96c2204d authored by Sendya's avatar Sendya

fix: rm PageHeader backIcon

parent 5bcb2dbb
...@@ -13,11 +13,11 @@ import { ...@@ -13,11 +13,11 @@ import {
// i18n // i18n
APP_LANGUAGE APP_LANGUAGE
} from '../mutation-types' } from '../mutation-types'
import { loadLanguageAsync } from '../../locales' import { loadLanguageAsync } from '@/locales'
const App = { const App = {
state: { state: {
sidebar: true, sideCollapsed: true,
device: 'desktop', device: 'desktop',
theme: 'dark', theme: 'dark',
layout: '', layout: '',
...@@ -31,7 +31,7 @@ const App = { ...@@ -31,7 +31,7 @@ const App = {
}, },
mutations: { mutations: {
[SIDEBAR_TYPE]: (state, type) => { [SIDEBAR_TYPE]: (state, type) => {
state.sidebar = type state.sideCollapsed = type
Vue.ls.set(SIDEBAR_TYPE, type) Vue.ls.set(SIDEBAR_TYPE, type)
}, },
[TOGGLE_DEVICE]: (state, device) => { [TOGGLE_DEVICE]: (state, device) => {
......
...@@ -19,7 +19,7 @@ const PageHeaderTabConfig = { ...@@ -19,7 +19,7 @@ const PageHeaderTabConfig = {
const PageHeaderWrapperProps = { const PageHeaderWrapperProps = {
...PageHeaderTabConfig, ...PageHeaderTabConfig,
...PageHeaderProps, ...PageHeaderProps,
title: PropTypes.oneOf([PropTypes.string, false]), title: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
content: PropTypes.any, content: PropTypes.any,
extraContent: PropTypes.any, extraContent: PropTypes.any,
pageHeaderRender: PropTypes.func, pageHeaderRender: PropTypes.func,
...@@ -38,6 +38,9 @@ const useContext = (route) => { ...@@ -38,6 +38,9 @@ const useContext = (route) => {
} || null } || null
} }
const noop = () => {}
// TODO :: tabList tab 支持图标 优化
const renderFooter = (h, tabConfigProps, i18nRender) => { const renderFooter = (h, tabConfigProps, i18nRender) => {
const { const {
tabList, tabList,
...@@ -101,17 +104,23 @@ const defaultPageHeaderRender = (h, props, pageMeta, i18nRender) => { ...@@ -101,17 +104,23 @@ const defaultPageHeaderRender = (h, props, pageMeta, i18nRender) => {
return pageHeaderRender({ ...props }) return pageHeaderRender({ ...props })
} }
let pageHeaderTitle = title let pageHeaderTitle = title
if ((!title && title !== false) || pageMeta.title !== false) { if (!title && title !== false) {
pageHeaderTitle = pageMeta.title pageHeaderTitle = pageMeta.title
} }
let tabProps = {
breadcrumb,
title: i18nRender(pageHeaderTitle),
onBack: handleBack || noop,
footer: renderFooter(h, restProps, i18nRender)
}
if (!handleBack) {
tabProps.backIcon = false
}
console.log('tabProps', tabProps)
return ( return (
<PageHeader <PageHeader { ...{ props: tabProps } }>
title={i18nRender(pageHeaderTitle)}
breadcrumb={breadcrumb}
{...props}
onBack={handleBack}
footer={renderFooter(h, restProps, i18nRender)}
>
{renderPageHeader(h, content, extraContent)} {renderPageHeader(h, content, extraContent)}
</PageHeader> </PageHeader>
) )
...@@ -129,11 +138,18 @@ const PageHeaderWrapper = { ...@@ -129,11 +138,18 @@ const PageHeaderWrapper = {
const pageMeta = useContext(this.$props.route || this.$route) const pageMeta = useContext(this.$props.route || this.$route)
const i18n = this.$props.i18nRender || this.locale || defaultI18nRender const i18n = this.$props.i18nRender || this.locale || defaultI18nRender
// 当未设置 back props 或未监听 @back,不显示 back
const onBack = this.$props.back const onBack = this.$props.back
const back = () => { const back = onBack && (() => {
this.$emit('back') this.$emit('back')
// call props back func // call props back func
onBack && onBack() onBack && onBack()
}) || undefined
const onTabChange = this.$props.tabChange
const tabChange = (key) => {
this.$emit('tabChange', key)
onTabChange && onTabChange(key)
} }
const propsBreadcrumb = this.$props.breadcrumb const propsBreadcrumb = this.$props.breadcrumb
...@@ -148,13 +164,12 @@ const PageHeaderWrapper = { ...@@ -148,13 +164,12 @@ const PageHeaderWrapper = {
breadcrumb = { props: { routes }} breadcrumb = { props: { routes }}
} }
console.log('breadcrumb', breadcrumb)
const props = { const props = {
...this.$props, ...this.$props,
content, content,
extraContent, extraContent,
breadcrumb, breadcrumb,
tabChange,
back back
} }
......
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