1. 效果图

在这里插入图片描述

2. 主要代码

<li v-for="(item,index) in ticketList" :key="index" @click="changTicket(item)">
  <header>
    <span :class="[item.status== '0' ? 'orange': '', item.status=='1'? 'blue': '',item.status=='2'? 'green': '',item.status=='3'? 'green': '',item.status=='4'? 'green': '']">{{item.status | getStatus(item.status)}}</span>
  </header>
</li>

<script>
	export default {
		data() {
			return {
				// 模拟后端返回数据
				ticketList:[
					{status:0},
					{status:1},
					{status:2},
					{status:3},
					{status:4},
				]
			}
		},
		// 过滤器根据 status 返回状态文字
		filters:{
		    getStatus(key) {
		        let status = '';
		        switch (key) {
		            case 0:
		                status = "待分配"
		                break
		            case 1:
		                status = "待回复"
		                break
		            case 2:
		                status = "处理中"
		                break
		            case 3:
		                status = "已解决"
		                break
		            case 4:
		                status = "不需处理"
		                break
		        }
		        return status
		    }
		}
  },
</script>

 span {
	&.low {
	   background-color: #808080;
	 }
	 &.in {
	   background-color: #4ca0ff;
	 }
	 &.high {
	   background-color: #fb894f;
	 }
	 &.urgent {
	   background-color: #f95f62;
	 }
}
Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐