根据状态的不同,显示不同的背景颜色

news2024/12/23 8:19:18

文章目录

  • 前言
  • HTML模板部分
  • JavaScript部分
    • 注意:
      • 主要差异
      • 影响
      • 如何处理
      • 示例
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

实现效果:
请添加图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

根据给定的状态值显示一个带有特定背景颜色的文本标签

注意下面的数字在数据库中是什么类型(int)

<template>
  <div>
    <span class="state" :style="{ backgroundColor: getStateBackgroundColor(item.state) }">
      {{ item.stateName }}
    </span>
  </div>
</template>

<script>
export default {
  data() {
    return {
      state: [
        { state: 1, stateName: '成功' },
        { state: 2, stateName: '失败' },
        { state: 3, stateName: '警告' },
      ],
    };
  },
  methods: {
    getStateBackgroundColor(state) {
      switch (state) {
        case 1:       
         return '#90EE90'; // 浅绿色,代表成功
        case 2:
          return '#FF6347'; // 深红色,代表失败
        default:
          return '#FFA07A'; // 橙色,代表警告
      }
    },
  },
  mounted() {
    // 在组件挂载后更改第一个元素的状态
    this.$set(this.state[0], 'state', 1);
  },
};
</script>

这段代码是一个Vue.js组件,用于展示不同状态的信息,并根据状态的不同显示不同的背景颜色。下面是逐行的解释:

HTML模板部分

<template>
  <div>
    <span class="state" :style="{ backgroundColor: getStateBackgroundColor(item.state) }">
      {{ item.stateName }}
    </span>
  </div>
</template>
  • <template> 标签定义了组件的HTML结构。
  • <div> 包含了一个 <span> 元素,用于显示状态名称。
  • :style="{ backgroundColor: getStateBackgroundColor(item.state) }" 动态绑定样式,这里的 getStateBackgroundColor(item.state) 是一个方法调用,它会返回一个背景颜色字符串。
  • {{ item.stateName }} 显示状态的名称。

JavaScript部分

<script>
export default {
  data() {
    return {
      state: [
        { state: '1', stateName: '成功' },
        { state: '2', stateName: '失败' },
        { state: '3', stateName: '警告' },
      ],
    };
  },
  methods: {
    getStateBackgroundColor(state) {
      switch (state) {
        case 1:
          return '#90EE90'; // 浅绿色,代表成功
        case 2:
          return '#FF6347'; // 深红色,代表失败
        default:
          return '#FFA07A'; // 橙色,代表警告
      }
    },
  },
  mounted() {
    // 在组件挂载后更改第一个元素的状态
    this.$set(this.state[0], 'state', '1');
  },
};
</script>
  • export default 导出一个Vue组件对象。
  • data() 返回一个包含state数组的对象。这个数组包含了不同的状态信息,包括状态码(state)和对应的中文名称(stateName)。
  • methods 定义了组件的方法,其中getStateBackgroundColor方法接收一个状态码作为参数,并根据状态码返回相应的背景颜色。
  • mounted() 是Vue的生命周期钩子函数之一,当组件被挂载到DOM后执行。这里设置数组的第一个元素的状态为成功

注意:

主要差异

  1. 状态值的数据类型:
    • 状态值是字符串类型('1', '2')。
    • 状态值是数字类型(1, 2)。

影响

  • 数据类型的变化可能导致在某些情况下出现问题。如果组件中的状态值是以字符串形式存储的(如'1'),而方法期望的是数字类型(如1),那么在进行比较时可能会导致不正确的结果。

这是因为JavaScript中的switch语句会进行严格比较,即===,这会检查类型和值都相同。

如何处理

  • 如果状态值是以字符串形式存储的(如'1'),则应该使用原始版本中的case '1':case '2':
  • 如果状态值是以数字形式存储的(如1),则应该使用修改后的版本中的case 1:case 2:

示例

假设data中状态值是以字符串形式存储的,如下所示:

data() {
  return {
    state: [
      { state: '1', stateName: '成功' },
      { state: '2', stateName: '失败' },
      { state: '3', stateName: '警告' },
    ],
  };
}

在这种情况下,应该使用的getStateBackgroundColor方法:

methods: {
  getStateBackgroundColor(state) {
    switch (state) {
      case '1':
        return '#90EE90'; // 浅绿色,代表成功
      case '2':
        return '#FF6347'; // 深红色,代表失败
      default:
        return '#FFA07A'; // 橙色,代表警告
    }
  },
}

mounted钩子函数

mounted() {
  // 在组件挂载后更改第一个元素的状态
  this.$set(this.state[0], 'state', '1'); // 注意这里使用数字1而不是字符串'1'
}

总结

这个Vue组件的功能是展示一个状态列表,每个状态都有一个中文名称和一个背景颜色。背景颜色是通过getStateBackgroundColor方法动态计算的。在组件初始化时,数组中的第一个状态会被设置为成功,并且其背景颜色会显示为浅绿色。

同时注意数据库中的状态值是什么类型的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2064408.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件操作2(函数的专栏)

1、文件的打开和关闭 1.1文件指针 在缓冲文件系统中&#xff0c;关键的概念是“文件类型指针”&#xff0c;简称“文件指针”取名为FILE。 例如&#xff0c; VS2013编译环境提供的 stdio. h头文件中有以下的文件类型申明&#xff1a; struct _ iobuf { char *_ ptr; int _…

【YOLO5 项目实战】(6)YOLO5+StrongSORT 目标追踪

欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【YOLO5 项目实战】&#xff08;1&#xff09;YOLO5 环境配置与检测 【YOLO5 项目实战】&#xff08;2&#xff09;使用自己的数据集训练目标检测模型 【YOLO5 项目实战】&#xff08;6&#xff09;Y…

数据库机器上停service360safe

发现有个数据库的负载较高&#xff0c;发现有360safe&#xff0c;就准备停了该服务再观察 [rootdb1 ~]# ps -ef |grep 360 root 970 1 0 15:12 ? 00:00:10 /opt/360safe/360entclient root 976 970 5 15:12 ? 00:18:42 /opt/360…

Linux之RabbitMQ集群部署

RabbitMQ 消息中间件 1、消息中间件 消息(message)&#xff1a; 指在服务之间传送的数据。可以是简单的文本消息&#xff0c;也可以是包含复杂的嵌入对象的消息 消息队列(message queue): 指用来存放消息的队列&#xff0c;一般采用先进先出的队列方式&#xff0c;即最先进入的…

关于springboot的异常处理以及源码分析(一)

一、什么是异常处理 1、文档定义 首先我们先来看springboot官方对于异常处理的定义。springboot异常处理 在文档的描述中&#xff0c;我们首先可以看到的一个介绍如下&#xff1a; By default, Spring Boot provides an /error mapping that handles all errors in a sensib…

优思学院|如何在30分钟内评审一家供应商?SQE必需知道的11点

在供应商评审中&#xff0c;特别是时间有限的情况下&#xff0c;SQE&#xff08;供应商质量工程师&#xff09;需要通过高效的观察和分析来快速评估供应商的能力。在《哈佛商业评论》中&#xff0c;R. Eugene Goodson 的一篇“Read a Plant—Fast”文章正好提供了一个极为实用的…

python实现指数平滑法进行时间序列预测

python实现指数平滑法进行时间序列预测 一、指数平滑法定义 1、指数平滑法是一种常用的时间序列预测算法,有一次、二次和三次平滑,通过加权系数来调整历史数据权重; 2、主要思想是:预测值是以前观测值的加权和,且对不同的数据给予不同的权数,新数据给予较大的权数,旧数…

基于x86 平台opencv的图像采集和seetaface6的人脸识别功能

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.2 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的人脸识别功能,opencv通过读取本地图像,将采集的本地图像送给seetaface6的人脸识别模块从而实现人脸识…

FreeRTOS学习笔记(四)——延时函数,列表,软件定时器,低功耗模式,内存管理

FreeRTOS学习笔记&#xff08;四&#xff09;——延时函数&#xff0c;列表&#xff0c;软件定时器&#xff0c;低功耗模式&#xff0c;内存管理 文章目录 FreeRTOS学习笔记&#xff08;四&#xff09;——延时函数&#xff0c;列表&#xff0c;软件定时器&#xff0c;低功耗模…

尚硅谷Java面试题第四季-MySQL面试题

1.如何建立复合索引&#xff0c;一般加在哪些字段&#xff1f;建索引的理论依据或者经验 2.Innodb的行锁到底锁了什么? 结论&#xff1a; InnoDB的行锁&#xff0c;是通过锁住索引来实现的&#xff0c;如果加锁查询的时候没有使用到索引&#xff0c;会将整个聚簇索引都锁住&am…

【python报错已解决】`Traceback (most recent call last)`

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 你是否在运行Python程序时遇到了Traceback (most recent call last)的错误&#xff1f;这个错误通常表明你的程序中有一个…

为什么大负载通电瞬间电压跌落,前级MOS开关如何设计

文章目录 1.1 前言1.2 简单典型电路1.3 分析优劣性1.4 优化后的开关电路1.5 具体原理分析1.6 实验验证效果1.7 适用应用场景 1.1 前言 电子产品设计电路某负载需要断电省下或异常下电复位&#xff0c;这时候会考虑在负载供电前端增加一个开关对其进行供电做控制&#xff0c;典…

超声波模块HC_SR04(hal库)

超声波模块HC_SR04 原理 1.触发信号&#xff1a;拉高至少10us的高电平 2.回响信号处理&#xff1a;计算高电平时长 3.计算距离&#xff1a;时间*速度&#xff08;声速&#xff09;/2&#xff08;注意单位问题&#xff09; 代码实现 方法1.下拉输入 配置 用于延时微秒us和…

第四届机械制造与智能控制国际学术会议(ICMMIC 2024)

目录 重要信息 大会介绍 主办单位 协办单位 大会主席 主讲嘉宾 征稿主题 会议日程 参会方式 重要信息 会议时间&#xff1a;2024年9月27-29日 大会官网&#xff1a;www.icmmic.com&#xff08;点击查看&#xff0c;大会信息&#xff0c;报名&#xff0c;投稿&#x…

【数据结构初阶】单链表接口实现超详解

文章目录 1. 顺序表问题与思考2.单链表2. 1 概念与结构2.1.1 结点2.1.2 链表的性质 3. 单链表实现3. 1 单链表初始化3. 2 单链表的打印3. 3 头插3. 4 创建新节点3. 5 尾插3. 6 头删和尾删3. 7 查找3. 8 在指定位置之后插入或删除3. 9 在指定位置前面插入或删除指定位置3. 10 销…

推荐一款好用的mac解压缩软件

文章目录 介绍软件功能安装下载使用注意事项1.打开系统设置选择隐私与安全性2.点击添加扩展3.勾选访达扩展 小结 介绍 FastZip for Mac集压缩、解压、预览、加密压缩、分卷压缩、固实压缩、右键压缩解压、多线程压缩等功能于一体&#xff0c;绝佳的设计、便捷的操作&#xff0…

设计师AI神器!AnyDesign,一张照片加简单描述就可以编辑时尚图像!

在AI时代很多行业都被颠覆了&#xff0c;建议大家在业余时间也尽量多学习一些AI工具的使用&#xff0c;提高效率的同时也去探索更多好玩的应用。 今天给大家介绍一个非常好用的图像编辑方法-AnyDesign&#xff0c;适合时尚设计师以及普通用户使用的&#xff0c;可以让你能够更…

Python编程:从入门到实践书籍介绍

对于Python入门的书籍推荐&#xff0c;以下是五本详细讲解的书籍&#xff0c;它们各自具有不同的特点和适用对象&#xff1a; 1. 《Python编程:从入门到实践》 作者&#xff1a;埃里克马瑟斯&#xff08;Eric Matthes&#xff09;《Python编程:从入门到实践》是一本经典的Pyth…

C#实现数据采集系统-数据反写(1)MQTT订阅接收消息

C#实现数据采集系统-数据反写 实现步骤 MQTT订阅&#xff0c;接收消息反写内容写入通信类&#xff0c;添加到写入队列中 链接-消息内容处理和写入通信类队列实现Modbustcp通信写入 具体实现 1.MQTT订阅&#xff0c;接收消息 Mqtt实现采集数据转发 Mqtt控制类增加订阅方法…

【微信小程序】使用 npm 包 - Vant Weapp --定制主题

小程序对 npm 的支持与限制 1. 什么是 Vant Weapp 官方文档地址 &#xff1a;https://youzan.github.io/vant-weapp 2. 安装 Vant 组件库 详细的操作步骤&#xff0c;大家可以参考 Vant 官方提供的快速上手教程&#xff1a; https://youzan.github.io/vant-weapp/#/quickst…