Skip to content

数据字典全局使用配置

Exrick edited this page Apr 11, 2019 · 1 revision

当多个不同页面同时使用到一个数据字典时,建议将其存入Vuex中可全局使用,避免多次获取数据

  • 定义数据字典Vuex
    • src/store/modules/dict.js中定义,以性别字典sex为例:
    state: {
        // 数据字典
        sex: []
    },
    mutations: {
        // 设置值的改变方法
        setSex(state, list) {
            state.sex = list;
        }
    }
  • 请求加载读取字典数据 - 在src/libs/dictUtil.js中添加请求方法
    // 获取常用的数据字典保存至vuex
    dictUtil.initDictData = function (vm) {
        // 此处“sex”为数据字典管理菜单中设定的字典类型type值
        axios.get(getDictData + "sex").then(res => {
            if(res.success){
                vm.$store.commit("setSex", res.result);
            }
        });
    };
  • 全局使用示例
this.$store.state.dict.sex
  • 若编辑相应字典数据后,需刷新整个页面重新读取以获取最新数据

无需担心多个请求接口影响性能,该接口后端已配置Redis缓存,性能为毫秒级