Infinite.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <script setup lang="ts">
  2. import { ref, reactive } from "vue";
  3. import { templateRef } from "@vueuse/core";
  4. import SeamlessScroll from "/@/components/ReSeamlessScroll";
  5. const scroll = templateRef<ElRef | null>("scroll", null);
  6. let listData = ref([
  7. {
  8. date: "2021-09-01",
  9. name: "采销365结算",
  10. star: "1000"
  11. },
  12. {
  13. date: "2021-09-02",
  14. name: "采销365结算",
  15. star: "1100"
  16. },
  17. {
  18. date: "2021-09-03",
  19. name: "采销365结算",
  20. star: "1200"
  21. },
  22. {
  23. date: "2021-09-04",
  24. name: "采销365结算",
  25. star: "1300"
  26. },
  27. {
  28. date: "2021-09-05",
  29. name: "采销365结算",
  30. star: "1400"
  31. },
  32. {
  33. date: "2021-09-06",
  34. name: "采销365结算",
  35. star: "1500"
  36. },
  37. {
  38. date: "2021-09-07",
  39. name: "采销365结算",
  40. star: "1600"
  41. },
  42. {
  43. date: "2021-09-08",
  44. name: "采销365结算",
  45. star: "1700"
  46. },
  47. {
  48. date: "2021-09-09",
  49. name: "采销365结算",
  50. star: "1800"
  51. },
  52. {
  53. date: "2021-09-10",
  54. name: "采销365结算",
  55. star: "1900"
  56. }
  57. ]);
  58. let classOption = reactive({
  59. direction: "top"
  60. });
  61. </script>
  62. <template>
  63. <div class="infinite">
  64. <ul class="top">
  65. <li>更新日期</li>
  66. <li>项目名称</li>
  67. <li>Star数量</li>
  68. </ul>
  69. <SeamlessScroll
  70. ref="scroll"
  71. :data="listData"
  72. :class-option="classOption"
  73. class="warp"
  74. >
  75. <ul class="item">
  76. <li v-for="(item, index) in listData" :key="index">
  77. <span v-text="item.date" />
  78. <span v-text="item.name" />
  79. <span v-text="item.star" />
  80. </li>
  81. </ul>
  82. </SeamlessScroll>
  83. </div>
  84. </template>
  85. <style lang="scss" scoped>
  86. .infinite {
  87. .top {
  88. width: 95%;
  89. height: 40px;
  90. line-height: 40px;
  91. display: flex;
  92. margin: 0 auto;
  93. font-size: 14px;
  94. color: #909399;
  95. font-weight: 400;
  96. background: #fafafa;
  97. li {
  98. width: 34%;
  99. text-align: center;
  100. overflow: hidden;
  101. text-overflow: ellipsis;
  102. white-space: nowrap;
  103. }
  104. }
  105. .warp {
  106. width: 95%;
  107. height: 215px;
  108. margin: 0 auto;
  109. overflow: hidden;
  110. li {
  111. height: 30px;
  112. line-height: 30px;
  113. display: flex;
  114. font-size: 15px;
  115. }
  116. span {
  117. width: 34%;
  118. text-align: center;
  119. overflow: hidden;
  120. text-overflow: ellipsis;
  121. white-space: nowrap;
  122. }
  123. }
  124. }
  125. </style>