vue对枚举值转换方式

目录
  • vue对枚举值转换
  • vue中"枚举"的用法
    • 下面介绍一种(基于vue+element+admin)

vue对枚举值转换

最近再做项目中碰到了这样一个问题,前端vue对后端返回数据中的枚举值做处理。之前枚举值的转换都在后端返回dto中做处理,首次碰到这种问题,先将解决方案抛出,希望能帮到有缘人:

<el-table v-loading="loading.table" :data="data.list.items" fit stripe highlight-current-row :cell-style="cellStyle"
		element-loading-text="玩命加载中" element-loading-spinner="el-icon-loading" :header-cell-class-name="headerStyle"
		style="width:100%" @selection-change="handleSelectionChange" border :row-class-name="tableRowClassName">
		<el-table-column label="项目编号" align="center" prop="id" min-width="120">
		</el-table-column>
		<el-table-column label="项目名称" align="center" prop="xmmc" min-width="180">
		</el-table-column>
		<el-table-column label="建设单位" align="center" prop="jsdwmc" min-width="150">
		</el-table-column>
		<el-table-column label="开工日期" align="center" prop="jhkgrq" min-width="150">
		</el-table-column>
		<el-table-column label="竣工日期" align="center" prop="jhjgrq" min-width="150">
		</el-table-column>
		<el-table-column label="项目地址" align="center" prop="xmwz" min-width="180">
		</el-table-column>
		<el-table-column label="项目所属区域" align="center" prop="xzqh" min-width="120">
		</el-table-column>
		<el-table-column label="是否竣工" align="center" prop="sfjg" min-width="150" :formatter="stateFormat">
		</el-table-column>
		<el-table-column label="操作" align="center" min-width="120">
			<template slot-scope="scope">
				<el-button icon="el-icon-edit" size="mini" type="success" @click="lookHandler(scope.$index, scope.row)">查看
				</el-button>
			</template>
		</el-table-column>
	</el-table>

注:在 element ui 可以用 formatter 来实现

如图

stateFormat就是我们将要调用的函数方法,在方法体内写有我们的转译规则,例如:

//转译
stateFormat(data) {
	if (data.sfjg != null && data.sfjg != "" && data.sfjg == 1) {
		return "已竣工";
	} else if (data.sfjg != null && data.sfjg != "" && data.sfjg == 0) {
		return "未竣工";
	}
},

方法体中的data默认指的是table当前行的数据(k v格式的),小伙伴们可以console.log(“查看data值”,data)去查看数据,效果图:

到此就结束了

vue中"枚举"的用法

这里的枚举加了引号,并不是真正的枚举,前台经常会遇到用一些数字代表某些状态,数字不知道代表的具体意思,后期维护起来不方便,所以用类似于后台的枚举处理。

vue项目中有很多种枚举的写法和用法,但是使用起来都太麻烦。

下面介绍一种(基于vue+element+admin)

1.在单独的js文件中:test.js

const statustest = {
  insert:0,
  update:1,
  delete:2
}

2.在main.js中添加引用。

3.在vue页面中使用

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue3声明字段名为枚举的类型详解

    目录 vue3声明字段名为枚举类型 下面是Type的枚举声明,共有6个字段 vue使用提升之"枚举"应用 方式一(适用于简易过滤器中) 方拾二(过滤器,循环列表) vue3声明字段名为枚举类型 下面是Type的枚举声明,共有6个字段 enum Type {   primary = "primary",   success = "success",   warning = "warning",   warn = "wa

  • vue项目中如何添加枚举

    目录 vue项目添加枚举 在vue文件中引用 使用方法 vue中枚举的使用 1. 建一个js文件如:common.js 2. 在页面直接引入 vue项目添加枚举 添加文件,文件名为enum.js 文件内容: //使用方法 /** * 获取枚举值:STATUSMAP.SH * 获取枚举描述:STATUSMAP.getDesc('SH') * 通过枚举值获取描述:STATUSMAP.getDescFromValue('TG') */ let STATUSMAP = createEnum({ SH:

  • Vue使用枚举类型实现HTML下拉框步骤详解

    下拉框包含option中的Value和用来显示的选项, 一般后台都是使用的Value值,而不是显示在前台的选项 第一步: 编写下拉框需要的枚举类型 StatusEnum.java public enum StatusEnum { RED, YELLOW, GREEN } 第二步: 编写用来存放下拉框中对应的option中的Value和显示的选项 StatusDTO.java public class StatusDTO { private String code; private String

  • vue对枚举值转换方式

    目录 vue对枚举值转换 vue中"枚举"的用法 下面介绍一种(基于vue+element+admin) vue对枚举值转换 最近再做项目中碰到了这样一个问题,前端vue对后端返回数据中的枚举值做处理.之前枚举值的转换都在后端返回dto中做处理,首次碰到这种问题,先将解决方案抛出,希望能帮到有缘人: <el-table v-loading="loading.table" :data="data.list.items" fit stripe

  • vue三元运算之多重条件判断方式(多个枚举值转译)

    目录 vue多重条件判断(多个枚举值转译) vue标签中使用三元运算符 vue多重条件判断(多个枚举值转译) 直接上代码: div class="msgLi">      <p>组织设置:</p>      <p>{{ organInfo.partySetup=="1"?"撤销":organInfo.partySetup=="2"?"调整":organInfo.pa

  • c++11 实现枚举值到枚举名的转换问题

    目录 效果 关键技术 __VA_ARGS__ #__VA_ARGS__ 在函数外执行代码的能力 模板函数的静态变量 关键代码 源码地址 效果 ENUM_DEFINE ( Color, Red, Blue, ) EnumHelper(Color::Red) -> "Red" EnumHelper(Color::Red, std::toupper) -> "RED" 关键技术 __VA_ARGS__ __VA_ARGS__ 实现了可变参数的宏. #defin

  • vue组件间通信六种方式(总结篇)

    前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代). 针对不同的使用场景,如何选择行之有效的通信方式?这是我们所要探讨的主题.本文总结了vue组件间通信的几种方式,如props. $emit / $on .vuex. $parent / $children . $attrs

  • 细说C#中的枚举:转换、标志和属性

    枚举是 C# 中最有意思的一部分,大部分开发人员只了解其中的一小部分,甚至网上绝大多数的教程也只讲解了枚举的一部分.那么,我将通过这篇文章向大家具体讲解一下枚举的知识.我将从大家都了解的部分开始讲解,然后再讲解大家所不知道的或者了解很少的部分. 零.基础知识 枚举是由开发人员声明的一种 值类型 ,它在编译时就声明了一种 具名常量值 .使用枚举可以使我们的代码简单易读,我们先来看一下两个代码段: // 代码段 1 void Method(int country) { switch (country

  • Vue中的ESLint配置方式

    目录 说说Vue项目中添加ESLint的规则 第一步:安装 第二步:配置.eslintrc文件 第三步:如图配置 用惯了组里统一的代码风格,再看默认的vue项目代码很是别扭,记录下ESLint配置,以后直接copy paste,美滋滋 官网:https://eslint.org/docs/rules/ ESLint配置方式 ESLint有三种配置方式,一般自定义规则较少时,选第2种:自定义配置很多,建议第1种:第3种常用于对某句代码禁用eslint. 1.在package.json中通过esli

  • vue获取后台json字符串方式

    目录 vue获取后台json字符串 Vue字符串与Json转换 字符串与数组之间的相互转换 Json字符串转换为json对象 vue获取后台json字符串 1.在api文件下的driver.js文件下写一个获取json的函数 export const tree = () => request({ url: 'driver/tree', method: 'post', }) 2.在view文件下的driver文件下的index.vue文件里引入driver.js文件下的tree函数 import

  • Java 大小写最快转换方式实例代码

    Java 大小写最快转换方式实例代码          这里直接给出实现代码,在代码中注释都很清楚,不多做介绍. Java代码 package io.mycat; import java.util.stream.IntStream; /** * 小写字母的 'a'=97 大写字母 A=65 更好相差32利用这个差进行大小写转换 * @author : Hpgary * @date : 2017年5月3日 10:26:26 * @mail: hpgary@qq.com * */ public cl

  • C++学习小结之数据类型及转换方式

    一.输入输出语句 Console.ReadLine(); 会等待直到用户按下回车,一次读入一行 Console.ReadKey(); 则是等待用户按下任意键,一次读入一个字符. 二.数据类型 主要掌握: 1.值类型:int 整型,float 浮点型(单精度), double 双精度,char 字符型,bool 布尔型(两种状态true与false),datetime  日期时间 2.引用类型:string 字符串类型 问题? a.字符串与字符的区别:string类型使用 "",char

随机推荐