<script setup>
import { ref, onMounted, onUnmounted, nextTick } from 'vue';

const list = ref([
  {
    a: '领先',
    b: '现场竞价',
    c: '10:12:12',
    d: 'RMB5,500',
    e: '我'
  }
]);

// 记录定时器 ID
let intervalId = null;

const addItem = () => {
  list.value.push({
    a: '领先',
    b: '现场竞价',
    c: '10:12:12',
    d: 'RMB5,500',
    e: ''
  });
  nextTick(() => {
    scrollToBottom();
  });
};

const scrollToBottom = () => {
  const container = document.getElementById('list-container');
  if (container) {
    setTimeout(() => {
      container.scrollTop = container.scrollHeight;
    }, 100); // 延迟以确保动画开始
  }
};

onMounted(() => {
  // 每秒添加一条数据
/*  intervalId = setInterval(() => {
    addItem();
  }, 1000);*/
});

onUnmounted(() => {
  // 清理定时器
  if (intervalId) {
    clearInterval(intervalId);
  }
});
</script>

<template>
  <div
      id="list-container"
      class="w-344px h-86px overflow-y-auto bg-#fff rounded-4px text-14px text-#939393 pt-7px pb-7px flex flex-col justify-between"
  >
    <transition-group name="list" tag="div">
      <div v-for="(item, index) in list" :key="index" class="flex flex-shrink-0 h-25px">
        <div class="flex-grow-1 text-center">{{ item.a }}</div>
        <div class="flex-grow-1 text-center">{{ item.b }}</div>
        <div class="flex-grow-1 text-center">{{ item.c }}</div>
        <div class="flex-grow-1 text-center">{{ item.d }}</div>
        <div class="flex-grow-1 text-center">{{ item.e }}</div>
      </div>
    </transition-group>
  </div>
</template>

<style scoped>
.list-enter-active, .list-leave-active {
  transition: all 0.5s ease;
}
.list-enter-from, .list-leave-to {
  opacity: 0;
  transform: translateY(20px);
}
</style>