vue中将后台返回的数字转换成对应的文字,通过动态绑定类名修改文字颜色

前言:

项目中有展示订单状态这样一个需求,后端数据返我的是数字,但前端展示的是文字‘已购买’,‘退卡中’,‘未购买’;后端要求是数字为10表示‘已购买’颜色为绿,11或者12代表‘退卡中’颜色为橙,null代表‘未购买’颜色为红;基于这个需求,来记录一下
在这里插入图片描述
这里用到了vue的动态绑定类名

思路:

  1. 先在样式里定义好用到的几个颜色
  2. vue的动态绑定类名,如果item.earn_profit_type == '10'为true,class类名就是green,如果item.earn_profit_type == '11'或者 item.earn_profit_type == '12'true,class类名就是yellow,以此类推
  3. 根据接口数字改成相应易懂的文字,调用filterStatus()方法,需要传一个值,也就是获取接口返回的数字

解决过程:

CSS样式

.green {
  color: #39b54a;
}
.yellow {
  color: #f29124;
}
.red {
  color: #e6432d;
}

html
这里取得代码其实是vue for循环里面的一部分


<div class="register">
              <span>订单状态</span>
              <p
                class="withdrawal_num"
                :class="{
                  green: item.earn_profit_type == '10',
                  yellow:
                    item.earn_profit_type == '11' ||
                    item.earn_profit_type == '12',
                  red: item.earn_profit_type === null
                }"
              >
                {{ filterStatus(item.earn_profit_type) }}
              </p>
            </div>

js

filterStatus(val) {
      if (val == "10") {
        return "已购买";
      } else if (val == "11" || val == "12") {
        return "退卡中";
      } else {
        return "未购买";
      }
    }

这样就可以直接在页面中显示我们想要的效果了~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁锤妹妹@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值