Commit 21488ebc authored by Sendya's avatar Sendya

fix: settings

parent 20d4329b
...@@ -91,32 +91,29 @@ export default { ...@@ -91,32 +91,29 @@ export default {
return { return {
// 侧栏收起状态 // 侧栏收起状态
collapsed: false, collapsed: false,
// 自动隐藏头部栏
autoHideHeader: false,
// 媒体查询 // 媒体查询
query: {}, query: {},
// 布局类型
layout: 'sidemenu', // 'sidemenu', 'topmenu' settings: {
// 定宽: true / 流式: false // 布局类型
contentWidth: false, layout: 'sidemenu', // 'sidemenu', 'topmenu'
fixedHeader: false, // 定宽: true / 流式: false
fixSiderbar: false, contentWidth: false,
// 主题 'dark' | 'light' fixedHeader: false,
theme: 'dark', fixSiderbar: false,
// 主色调 // 主题 'dark' | 'light'
primaryColor: '#1890ff', theme: 'dark',
// 主色调
primaryColor: '#1890ff',
hideHintAlert: false,
hideCopyButton: false
},
// 是否手机模式 // 是否手机模式
isMobile: false isMobile: false
} }
}, },
render (h) { render (h) {
const {
collapsed,
autoHideHeader,
layout,
theme
} = this
const handleMediaQuery = (val) => { const handleMediaQuery = (val) => {
this.query = val this.query = val
if (this.isMobile && !val['screen-xs']) { if (this.isMobile && !val['screen-xs']) {
...@@ -136,57 +133,29 @@ export default { ...@@ -136,57 +133,29 @@ export default {
const handleSettingChange = ({ type, value, ...args }) => { const handleSettingChange = ({ type, value, ...args }) => {
console.log('type', type, 'value', value, 'args:', args) console.log('type', type, 'value', value, 'args:', args)
this.settings[type] = value
if (type === 'contentWidth') { if (type === 'contentWidth') {
this.contentWidth = value === 'Fixed' this.settings.contentWidth = value === 'Fixed'
}
if (type === 'fixedHeader') {
this.fixedHeader = value
}
if (type === 'fixSiderbar') {
this.fixSiderbar = value
} }
if (type === 'layout') { if (type === 'layout') {
this.layout = value
if (value === 'sidemenu') { if (value === 'sidemenu') {
this.contentWidth = false this.settings.contentWidth = false
// this.fixSiderbar = false
} else { } else {
this.fixSiderbar = false this.settings.fixSiderbar = false
this.settings.contentWidth = true
} }
} }
if (type === 'theme') {
this.theme = value
}
if (type === 'primaryColor') {
this.primaryColor = value
}
}
const settings = {
navTheme: this.theme,
primaryColor: this.primaryColor,
layout: this.layout,
colorWeak: this.colorWeak,
contentWidth: this.contentWidth,
fixedHeader: this.fixedHeader,
fixSiderbar: this.fixSiderbar,
hideHintAlert: false,
hideCopyButton: false
} }
const cdProps = { const cdProps = {
props: { props: {
...this.settings,
menus, menus,
collapsed, collapsed: this.collapsed,
autoHideHeader,
mediaQuery: this.query, mediaQuery: this.query,
handleMediaQuery, handleMediaQuery,
handleCollapse, handleCollapse,
layout,
contentWidth: this.contentWidth,
fixedHeader: this.fixedHeader,
fixSiderbar: this.fixSiderbar,
theme,
isMobile: this.isMobile, isMobile: this.isMobile,
// custom render // custom render
rightContentRender, rightContentRender,
...@@ -202,7 +171,7 @@ export default { ...@@ -202,7 +171,7 @@ export default {
return ( return (
<ProLayout {...cdProps}> <ProLayout {...cdProps}>
<SettingDrawer <SettingDrawer
settings={settings} settings={this.settings}
onChange={handleSettingChange} onChange={handleSettingChange}
/> />
<router-view /> <router-view />
......
...@@ -30,7 +30,7 @@ export const HeaderViewProps = { ...@@ -30,7 +30,7 @@ export const HeaderViewProps = {
}, },
autoHideHeader: { autoHideHeader: {
type: Boolean, type: Boolean,
required: true default: false
}, },
menuRender: { menuRender: {
type: null, type: null,
......
...@@ -71,9 +71,10 @@ export default { ...@@ -71,9 +71,10 @@ export default {
disabledReason: i18n('app.setting.fixedsidebar.hint'), disabledReason: i18n('app.setting.fixedsidebar.hint'),
action: ( action: (
<Switch <Switch
size="small" size="small"
checked={!!fixSiderbar} disabled={layout === 'topmenu'}
onChange={(checked) => handleChange('fixSiderbar', checked)} checked={!!fixSiderbar}
onChange={(checked) => handleChange('fixSiderbar', checked)}
/> />
), ),
}, },
......
...@@ -155,7 +155,7 @@ const SettingDrawer = { ...@@ -155,7 +155,7 @@ const SettingDrawer = {
inject: ['locale'], inject: ['locale'],
data () { data () {
return { return {
show: true, show: false,
} }
}, },
render (h) { render (h) {
......
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