Files
element-plus/docs/examples/statistic/countdown.vue
知晓同丶 3b8a590baf docs: improve examples layout for narrow screens (#21489)
* docs: improve examples layout for narrow screens

* docs: style related

* style: [statistic] use utilities

* style: [input] remove deep

* style: [transitions] change style

* refactor: [date-picker-panel] narrow refactor
2025-08-21 10:22:05 +02:00

51 lines
1.4 KiB
Vue

<template>
<el-row :gutter="16">
<el-col :xs="24" :sm="12" :md="8" class="text-center mb-4">
<el-countdown title="Start to grab" :value="value" />
</el-col>
<el-col :xs="24" :sm="12" :md="8" class="text-center mb-4">
<el-countdown
title="Remaining VIP time"
format="HH:mm:ss"
:value="value1"
/>
<el-button class="countdown-footer" type="primary" @click="reset">
Reset
</el-button>
</el-col>
<el-col :xs="24" :sm="12" :md="8" class="text-center mb-4">
<el-countdown format="DD [days] HH:mm:ss" :value="value2">
<template #title>
<div style="display: inline-flex; align-items: center">
<el-icon style="margin-right: 4px" :size="12">
<Calendar />
</el-icon>
Still to go until next month
</div>
</template>
</el-countdown>
<div class="countdown-footer">{{ value2.format('YYYY-MM-DD') }}</div>
</el-col>
</el-row>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import dayjs from 'dayjs'
import { Calendar } from '@element-plus/icons-vue'
const value = ref(Date.now() + 1000 * 60 * 60 * 7)
const value1 = ref(Date.now() + 1000 * 60 * 60 * 24 * 2)
const value2 = ref(dayjs().add(1, 'month').startOf('month'))
function reset() {
value1.value = Date.now() + 1000 * 60 * 60 * 24 * 2
}
</script>
<style scoped>
.countdown-footer {
margin-top: 8px;
}
</style>