数组列表倒计时
<div v-for="(item,index) in tableData" :key="index>
{{ dateT(item.setIntervalTime)}}
</div>
export default {
data() {
return {
tableData: [],
ticker: null
};
},
created() {
orderList().then( res => {
for (let i = 0, len = res.content.length; i < len; i++) {
const item = res.content[i]
item.setIntervalTime = new Date(item.deadline).getTime() - new Date().getTime()
}
this.tableData = res.content
if (this.ticker) {
clearInterval(this.ticker);
}
this.beginTimer()
})
},
methods: {
beginTimer() {
this.ticker = setInterval(() => {
for (let i = 0, len = this.tableData.length; i < len; i++) {
const item = this.tableData[i];
if (item.setIntervalTime > 0) {
item.setIntervalTime = item.setIntervalTime - 1000;
}
}
}, 1000);
},
dateT(deadline) {
if (deadline >= 0) {
let d = Math.floor(deadline / 1000 / 60 / 60 / 24);
let h = Math.floor((deadline / 1000 / 60 / 60) % 24);
let m = Math.floor((deadline / 1000 / 60) % 60);
let s = Math.floor((deadline / 1000) % 60);
return (d < 10 ? ('0' + d) : d) + ":" + (h < 10 ? ('0' + h) : h) + ":" + (m < 10 ? ('0' + m) : m) + ":" + (s < 10 ? ('0' + s) : s);
}
},
}
}