CloudList.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <!-- 云机列表 -->
  3. <div class="cloud-list-wrap" >
  4. <van-list :style="listStyle" :finished="false">
  5. <div v-for="item in list" :key="item" class="cloud-list-item-wrap flex" :class="{'cloud-list-item-active': activeId === item}" @click="activeId = item">
  6. <!-- 云机套餐头像 -->
  7. <div class="cloud-id-avatar-wrap items-center pr-2">
  8. <van-image
  9. width="24"
  10. height="24"
  11. src="https://img01.yzcdn.cn/vant/cat.jpeg"
  12. />
  13. </div>
  14. <!-- 云机名称和ID -->
  15. <div class="cloud-id-desc-wrap">
  16. <div class="cloud-id-name mb-1">云手机名称最多显示12位</div>
  17. <div class="cloud-id-detail-wrap">ID 333434343434</div>
  18. </div>
  19. </div>
  20. </van-list>
  21. </div>
  22. </template>
  23. <script>
  24. export default {
  25. name: 'CloudList',
  26. props: {
  27. // 云机列表高度
  28. height: {
  29. type: String,
  30. default: '50px'
  31. }
  32. },
  33. data() {
  34. return {
  35. activeId: '云机1',
  36. list: [
  37. '云机1',
  38. '云机2',
  39. '云机3',
  40. '云机4',
  41. '云机5',
  42. '云机6',
  43. '云机7',
  44. '云机8',
  45. '云机9',
  46. '云机10'
  47. ]
  48. }
  49. },
  50. computed: {
  51. // 云机列表高度
  52. listStyle() {
  53. return {height: this.height, overflowY: 'auto'}
  54. }
  55. },
  56. }
  57. </script>
  58. <style lang="scss" scoped>
  59. .cloud-list-item-wrap{
  60. padding: 8px 16px;
  61. border: 1px solid transparent;
  62. &.cloud-list-item-active{
  63. background-color: rgba(254,174,77,0.1);
  64. border: 1px solid #FEAE4D;
  65. }
  66. }
  67. .cloud-id-avatar-wrap{
  68. display: flex;
  69. }
  70. .cloud-id-desc-wrap{
  71. text-align: left;
  72. flex: 1;
  73. color: #F9F9F9;
  74. font-size: 10px;
  75. }
  76. </style>