vue实现课表,不同课程颜色不同

课表数据是一个数组,数组中每个元素是每一天的第一节。如下:

claimList: [{startTime: '8:00',endTime: '8:45',monday: '数学',tuesday: '语文',wednesday: '政治',thursday: '地理',friday: '政治',saturday: '英语',sunday: '化学',}, { startTime: '8:00',endTime: '8:45',monday: '数学',tuesday: '语文',wednesday: '政治',thursday: '地理',friday: '政治',saturday: '英语',sunday: '化学',}, {}]

实现效果:

实现思路:

在遍历的时候拿到表格里面的值

<div class="div" :style="{'background-color': getcolorb(itemv.monday),color: getcolort(itemv.monday)}">{{ itemv.monday }}</div>

然后在方法里面进行字段匹配

 textStyle(name) {switch (name) {case "数学":return "#01D0A6"case "语文":return "#CC689C"case "英语":return "#0A2440"case "化学":return "#6E97E8"case "生物":return "#1BCB41"case "政治":return "#C01240"case "历史":return "#ff40240Af"}},

实现完整代码:

<template><div classs=""><table align="center"><thead style="height: 30px"><tr style="height: 30px"><th style="width: auto" width="48"></th><th style="height: 30px" v-for="(item, index) in weekList" :key="index"><p style="font-size: 1px; color: #c0c0c1">{{ item.name }}</p></th></tr></thead><tbody><tr v-for="(itemv, indexv) in claimList" :key="indexv"><td><div class="time">{{ indexv + 1 }}</div><div class="time">{{ itemv.startTime }}</div><div class="time">{{ itemv.endTime }}</div></td><td><div class="div" :style="{'background-color': getcolorb(itemv.monday),color: getcolort(itemv.monday)}">{{ itemv.monday }}</div></td><td><div class="div" :style="{'background-color': getcolorb(itemv.tuesday),color: getcolort(itemv.tuesday),}">{{ itemv.tuesday }}</div></td><td><div class="div" :style="{'background-color': getcolorb(itemv.wednesday),color: getcolort(itemv.wednesday),}">{{ itemv.wednesday }}</div></td><td><div class="div" :style="{'background-color': getcolorb(itemv.thursday),color: getcolort(itemv.thursday),}">{{ itemv.thursday }}</div></td><td><div class="div" :style="{'background-color': getcolorb(itemv.friday),color: getcolort(itemv.friday),}">{{ itemv.friday }}</div></td><td><div class="div" :style="{'background-color': getcolorb(itemv.saturday),color: getcolort(itemv.saturday),}">{{ itemv.saturday }}</div></td><td><div class="div" :style="{'background-color': getcolorb(itemv.sunday),color: getcolort(itemv.sunday),}">{{ itemv.sunday }}</div></td></tr></tbody></table></div>
</template>
<script>
export default {name: 'lessonIndex',data() {return {weekList: [{ name: '周一' },{ name: '周二' },{ name: '周三' },{ name: '周四' },{ name: '周五' },{ name: '周六' },{ name: '周日' },],claimList: [{startTime: '8:00',endTime: '8:45',monday: '数学',tuesday: '语文',wednesday: '政治',thursday: '地理',friday: '政治',saturday: '英语',sunday: '化学',}, {startTime: '8:00',endTime: '8:45',monday: '历史',tuesday: '语文',wednesday: '政治',thursday: '数学',friday: '地理',saturday: '生物',sunday: '化学',}, {startTime: '8:00',endTime: '8:45',monday: '数学',tuesday: '政治',wednesday: '语文',thursday: '数学',friday: '英语',saturday: '生物',sunday: '政治',}, {startTime: '8:00',endTime: '8:45',monday: '历史',tuesday: '英语',wednesday: '语文',thursday: '数学',friday: '地理',saturday: '数学',sunday: '英语',}, {startTime: '8:00',endTime: '8:45',monday: '历史',tuesday: '语文',wednesday: '政治',thursday: '数学',friday: '地理',saturday: '生物',sunday: '化学',}, {startTime: '8:00',endTime: '8:45',monday: '数学',tuesday: '政治',wednesday: '语文',thursday: '数学',friday: '英语',saturday: '生物',sunday: '政治',},]}},components: {},methods: {// 返回字体样式textStyle(name) {switch (name) {case "数学":return "#01D0A6"case "语文":return "#CC689C"case "英语":return "#0A2440"case "化学":return "#6E97E8"case "生物":return "#1BCB41"case "政治":return "#C01240"case "历史":return "#ff40240Af"}},//字体颜色getcolort(name) {console.log(name, 123);let color = this.textStyle(name)return color},// 背景色getcolorb(name) {let color = this.backStyle(name)return color},// 返回背景样式backStyle(name) {switch (name) {case "数学":return "#F8F6E1"case "语文":return "#E4DFE6"case "英语":return "#E0E4E7"case "化学":return "#E3F7E5"case "生物":return "#E2F5DF"case "政治":return "#F7E1E7"case "历史":return "#F7E1E7"}}},created() {},
}
</script>
<style scoped>
table {border: 1px solid #f3f3f3;
}td {border: 1px solid #f3f3f3;width: 200px;height: 70px;font-size: 12px;
}.time {color: #0d0d0e;text-align: center;font-size: 5px
}.div {display: flex;align-items: center;justify-content: center;flex-direction: column;border-radius: 2px;height: 100%;
}
</style>

vue实现课表,不同课程颜色不同相关推荐

  1. Vue成大学核心课程

    作者 | 梦依丹 出品 | CSDN(ID:CSDNnews) 继维基媒体正式宣布采用 Vue.js 作为前端JS框架后,随着Vue 被更多企业青睐的同时,国内高校湖南工程职业技术学院正式把 Vue ...

  2. Vue.js学习详细课程系列--共32节(1 / 6)

    Vue.js学习课程(1 / 6) 01. 什么是Vue.js? 什么是Vue.js? 官方网站 竞争对手 技术前提 开发工具 02. 从index.html开始 知识点 index.html vue ...

  3. Vue.js学习详细课程系列--共32节(4 / 6)

    Vue.js学习课程(4 / 6) 19. 表单复选框 知识点 表单复选框绑定 20. 表单单选按钮 知识点 表单单选按钮绑定 21. 表单下拉框 知识点 表单下拉框绑定 22. 表单修饰符 知识点 ...

  4. 基于java+springboot+mybatis+vue+elementui的健身房课程预约管理系统

    项目介绍 本健身房课程预约网站系统是针对目前健身信息交流网站的实际需求,从实际工作出发,对过去的健身网站系统存在的问题进行分析,结合计算机系统的结构.概念.模型.原理.方法,在计算机各种优势的情况下, ...

  5. vue.js组件的练习_由Vue.js开发的电阻器颜色练习网站

    vue.js组件的练习 ResisColor (ResisColor) ⚡ A resistor color practice website develop by Vue.js. ⚡电阻器颜色练习网 ...

  6. Java基于Springboot+vue的健身房会员课程教练预约系统

    文末获取资源,收藏关注不迷路 文章目录 前言 一.研究背景 二.研究意义 三.主要使用技术 四.研究内容 五.核心代码 六.文章目录 前言 健身房管理系统的开发背景主要涉及以下几个方面: 健身行业的发 ...

  7. 计算机毕业设计Node.js+Vue慧学IT精品课程网站(程序+源码+LW+部署)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  8. 106:vue+openlayers 图片分解成颜色块渲染 (代码示例)

    第106个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中图片分解,颜色块渲染. 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果: 注意如 ...

  9. Vue.js学习详细课程系列--共32节(2 / 6)

    Vue.js学习课程(2 / 6) 07. 过滤器 知识点 filters 08. 计算属性 知识点 computed 09. 观察属性 知识点 $watch 10. 设定机算属性 知识点 sette ...

最新文章

  1. QtCreator动态编译jsoncpp完美支持x86和arm平台
  2. 伟大前程与技术难关:量子机器学习该如何走进现实?
  3. .Net Web项目安装包制作(三)补充说明
  4. 控制游戏中物体的移动速度
  5. 划分VLAN,以及VLAN间通信
  6. Matlab生成棋盘格点图
  7. html模块殃射,【Web前端问题】webpack打包后,module模块中的函数无法在html标签的事件中调用?...
  8. 二、bootstrap4基础(flex布局)
  9. java---解析XML文件,通过反射动态将XML内容封装到一个类中
  10. Silverlight3.0教程下载
  11. 基于Java实现的植物大战僵尸游戏
  12. 黑鲨重装计算机安装无法继续,黑鲨装机,小编教你黑鲨怎么安装win7
  13. JavaScript分号使用指南
  14. E-chart官方源码下载和关系图搭建
  15. 悲催:一个80后程序员的爱情故事【视频】-但愿我不是那个陈旭阳!55...
  16. switch日文键盘打中文_12月有哪些Switch游戏值得期待?
  17. 5.2SVM2--python机器学习
  18. wordpress真正静态化插件really-static(纯静态html网页生成插件)
  19. 在php中将Unicode字符转成中文
  20. 关于修改手机绑定那些事!

热门文章

  1. 揭秘银行理财产品五大陷阱
  2. 传感与RFID在血液管理分析中运用
  3. sklearn调库实现决策树算法
  4. excel集成python插件,DataNitro最新版|excel调用Python插件(DataNitro) v1.0免费最新版_星星软件园...
  5. mysql 导入pdb_12c pdb的数据泵导入导出简单示例
  6. 苹果明年弃用高通基带/ 腾讯回应进军ChatGPT/ 百度首席战略官辞职…今日更多新鲜事在此...
  7. 大神教你低成本官网下载激活office2016 professional plus 版本
  8. 【承】Redis 原理篇——关于 Redis 中的事务
  9. linux mint kde 中文输入法,Linux Mint KDE上安装fcitx+sougou输入法
  10. 语音合成IC在病床呼叫管理系统中的应用