CourseList.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <template>
  2. <view class="course-select">
  3. <view class="course-select-title">
  4. <view class="course-select-title-item">
  5. </view>
  6. <view class="course-select-title-item">
  7. </view>
  8. <view class="course-select-title-item">
  9. </view>
  10. <view class="course-select-title-item">
  11. </view>
  12. <view class="course-select-title-item">
  13. </view>
  14. </view>
  15. <view class="course-select-content">
  16. <view v-for="(item,index) in list" :key="index" class="course-select-content-item">
  17. <view @click="selectItem(item1)" :class="color(item1.type)" v-for="(item1,index1) in item.arr"
  18. :key="index1" class="course-select-content-item-text">
  19. {{item1.class}}
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. </template>
  25. <script>
  26. export default {
  27. props: {
  28. list: {
  29. type: Array,
  30. default: () => []
  31. }
  32. },
  33. data() {
  34. return {
  35. };
  36. },
  37. methods: {
  38. color(item) {
  39. if (item == 0) {
  40. return 'type0'
  41. } else if (item == 2) {
  42. return 'type2'
  43. }
  44. },
  45. selectItem(item) {
  46. this.$emit('itemClick', item)
  47. }
  48. }
  49. }
  50. </script>
  51. <style lang="scss" scoped>
  52. .course-select {}
  53. .course-select-title {
  54. display: flex;
  55. .course-select-title-item {
  56. flex: 1;
  57. text-align: center;
  58. }
  59. }
  60. .course-select-content-item {
  61. display: flex;
  62. .course-select-content-item-text {
  63. flex: 1;
  64. height: 80rpx;
  65. line-height: 80rpx;
  66. text-align: center;
  67. }
  68. }
  69. .type0 {
  70. color: #999;
  71. }
  72. .type2 {
  73. background-color: #05CCA1;
  74. border-radius: 5px;
  75. color: #fff;
  76. }
  77. </style>