利用JS判断前端数据的大小进行变色显示

在实际开发过程中,我们经常遇到客户有这样的需求:实际值比计划值多/少我要能直观的看到对比!

我主要是通过js写一个方法来比较两个值的大小,因为我后台传过来是String类型的,所以我用parseInt处理一下再进行比较!

 <el-col :span="6">
            <div class="grid-content bg-purple" style="padding-top: 8px;">
              <span class="item" >Target:</span><span  class="contrastDates" v-model="this.energyTarget" id="energyTarget1" :visible.sync="addDialogVisible" contenteditable="false"
            >{{ this.energyTarget }}</span><span class="item">kwh/ton</span>
              <br>
              <span class="item">Actual:</span><span  class="dates" v-model="energyActual" id="energyActual" contenteditable="true"
            >{{ this.energyActual }}</span><span class="item">kwh/ton</span>
              <br>
              <span class="item">Utility</span>
            </div>
          </el-col>

data里的数据:

data() {
    return {
      energyActual:"",
      energyTarget:"",
          /**
       * 查询KPI中Target数据,往后台传参数的包,后台拿到两个参数直接数据库查看再把数据返回就可以!
       */
      energyTargetValuePackage: {
        areaName:"XXX",
        kpiName:"Energy",
      },
}}

根据数值改变颜色的方法

   //根据数值改变字体颜色
    changeColor(){
      // energy 实际>计划,爆红色
      if(parseInt(this.energyActual) > parseInt(this.energyTarget)){
        document.getElementById("energyActual").style.color = "#FF9999"
      }else {
        document.getElementById("energyActual").style.color = "#42b983"
      }; 
    },

调用方法,必须用setTimeout才可以显示颜色!这一点特别注意!

mounted: function () {
    setTimeout(() => {
      this.changeColor();
    }, 1000)
  },

从后台获取数据的方法第一个getTargetValueByLine是我的方法名,第二个getTargetValueByLine是我的ajax函数名:

getTargetValueByLine() {
      getTargetValueByLine(this.energyTargetValuePackage)
        .then((res) => {
          this.change = res.data.ltc.join(",");
          this.energyTarget = parseInt(this.change);
        });}

效果图展示
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值