vue设置全局枚举
简介:提交表单时经常用到枚举,获取数据类表时也要用枚举分解状态
思路:
1、请求后台接口获取枚举,保存进localStorage和vueX,每次进入时从localStorage获取枚举保存进vueX,不用反复请求
2、从Store获取枚举设置方法分解枚举,通常用于表格状态
3、利用mixin把枚举混入全局实例,这样可以在全局使用枚举
实现:
1、获取枚举
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { enum: {},//全局枚举 从后台获取 }, getters: { getEnumData(state) { return state.enum }, }, mutations: {//获取枚举列表 getEnum(state, data) { state.enum = data }, }, })
2、全局设置分解方法和枚举
import Vue from 'vue' import store from '@/store' import { mapGetters } from 'vuex' //全局过滤选择器的枚举 function mapLabel(value, key) { // 显示公共enumLabel const data = store.state.enum if (key && data[key]) { return ( data[key].find((e) => e.value === value) || { label: value, } ).label } else return 'no enum' } Vue.filter('mapLabel', mapLabel) //全局获取枚举对象 Vue.mixin({ computed: { ...mapGetters({ '$enum': 'getEnumData' }) } })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」