今天把Setting的几个参数值配置修改到保存至cookie。思路是先从cookie中获取用户的配置(如果从后台取数据,在用户登录时需要先写入cookie,用户没有自定义配置直接初始化默认配置)。通过Swtich组件修改配置状态,写入后台(如果需要),同时修改cookie并修改vuex的state。
本来不复杂,但是修改后发现Sidebar的Logo部分在修改后不生效,经过排查,发现因为Switch组件修改后,boolean的true/false变成了额"true"/"false",在Logo部分v-if指令处理时,字符串会被识别为true。于是在vuex的state中获取时,修改判断一下,代码如下:

const state = {
  theme: Cookies.get("theme") || variables.theme,
  showSettings: showSettings,
  tagsView: Cookies.get("tagsView")
    ? Cookies.get("tagsView") === "true"
    : tagsView,
  fixedHeader: Cookies.get("fixedHeader")
    ? Cookies.get("fixedHeader") === "true"
    : fixedHeader,
  sidebarLogo: Cookies.get("sidebarLogo")
    ? Cookies.get("sidebarLogo") === "true"
    : sidebarLogo
};

修改后测试正常。

posted on 2020-04-09 20:00  学业未成  阅读(2294)  评论(12编辑  收藏  举报