|
17 | 17 | <div class="el-drawer__body"> |
18 | 18 | <el-form ref="form" :model="theme" label-position="top"> |
19 | 19 | <el-form-item label="主题"> |
20 | | - <el-radio-group v-model="theme.name"> |
| 20 | + <el-radio-group v-model="theme.name" @change="handleSaveTheme"> |
21 | 21 | <el-radio-button label="default">默认</el-radio-button> |
22 | 22 | <el-radio-button label="green">绿荫草场</el-radio-button> |
23 | 23 | <el-radio-button label="glory">荣耀典藏</el-radio-button> |
24 | 24 | </el-radio-group> |
25 | 25 | </el-form-item> |
26 | 26 | <el-form-item label="布局"> |
27 | | - <el-radio-group v-model="theme.layout"> |
| 27 | + <el-radio-group v-model="theme.layout" @change="handleSaveTheme"> |
28 | 28 | <el-radio-button label="vertical">纵向布局</el-radio-button> |
29 | 29 | <el-radio-button label="horizontal">横向布局</el-radio-button> |
30 | 30 | </el-radio-group> |
31 | 31 | </el-form-item> |
32 | 32 | <el-form-item label="头部"> |
33 | | - <el-radio-group v-model="theme.header"> |
| 33 | + <el-radio-group v-model="theme.header" @change="handleSaveTheme"> |
34 | 34 | <el-radio-button label="fixed">固定头部</el-radio-button> |
35 | 35 | <el-radio-button label="noFixed">不固定头部</el-radio-button> |
36 | 36 | </el-radio-group> |
37 | 37 | </el-form-item> |
38 | 38 | <el-form-item label="多标签"> |
39 | | - <el-radio-group v-model="theme.tabsBar"> |
| 39 | + <el-radio-group v-model="theme.tabsBar" @change="handleSaveTheme"> |
40 | 40 | <el-radio-button label="true">开启</el-radio-button> |
41 | 41 | <el-radio-button label="false">不开启</el-radio-button> |
42 | 42 | </el-radio-group> |
|
87 | 87 | const theme = localStorage.getItem('vue-admin-better-theme') |
88 | 88 | if (null !== theme) { |
89 | 89 | this.theme = JSON.parse(theme) |
90 | | - this.handleSetTheme() |
| 90 | + this.handleSaveTheme() |
91 | 91 | } else { |
92 | 92 | this.theme.layout = this.layout |
93 | 93 | this.theme.header = this.header |
|
110 | 110 | handleOpenThemeBar() { |
111 | 111 | this.drawerVisible = true |
112 | 112 | }, |
113 | | - handleSetTheme() { |
| 113 | + handleSaveTheme() { |
114 | 114 | let { name, layout, header, tabsBar } = this.theme |
115 | 115 | localStorage.setItem( |
116 | 116 | 'vue-admin-better-theme', |
|
127 | 127 | document.getElementsByTagName('body')[0].className = `vue-admin-better-theme-${name}` |
128 | 128 | this.drawerVisible = false |
129 | 129 | }, |
130 | | - handleSaveTheme() { |
131 | | - this.handleSetTheme() |
132 | | - }, |
133 | 130 | handleSetDfaultTheme() { |
134 | 131 | let { name } = this.theme |
135 | 132 | document.getElementsByTagName('body')[0].classList.remove(`vue-admin-better-theme-${name}`) |
|
0 commit comments