mirror of
https://gitee.com/element-plus/element-plus.git
synced 2024-12-05 20:58:22 +08:00
575835a2f8
* docs(components): use `script setup` replace `defineComponent` * docs(components): use setup sugar simplify `checkbox` demo * docs(components): use setup sugar simplify `collapse` demo * docs(components): use setup sugar simplify `color-picker` demo * docs(components): use setup sugar simplify `config-provider` demo * docs(components): use setup sugar simplify `container` demo * docs(components): use setup sugar simplify `date-picker` demo * docs(components): use setup sugar simplify `datetime-picker` demo * docs(components): use setup sugar simplify `dialog` demo * docs(components): use setup sugar simplify `drawer` demo * docs(components): use setup sugar simplify `dropdown` demo * docs(components): use setup sugar simplify `image` demo * docs(components): use setup sugar simplify `infinite-scroll` demo * docs(components): use setup sugar simplify `input-number` demo * docs(components): use setup sugar simplify `loading` demo * docs(components): use setup sugar simplify `menu` demo * docs(components): use setup sugar simplify `message` demo * docs(components): use setup sugar simplify `message-box` demo * docs(components): use setup sugar simplify `notification` demo * docs(components): use setup sugar simplify `page-header` demo * docs(components): use setup sugar simplify `pagination` demo * docs(components): use setup sugar simplify `popover` demo * docs(components): use setup sugar simplify `progress` demo * docs(components): use setup sugar simplify `radio` demo * docs(components): use setup sugar simplify `rate` demo * docs(components): use setup sugar simplify `scrollbar` demo * docs(components): use setup sugar simplify `select` demo * docs(components): use setup sugar simplify `select-v2` demo * docs(components): use setup sugar simplify `skeleton` demo * docs(components): use setup sugar simplify `slider` demo * docs(components): use setup sugar simplify `space` demo * docs(components): use setup sugar simplify `step` demo * docs(components): use setup sugar simplify `switch` demo * docs(components): use setup sugar simplify `tabs` demo * docs(components): use setup sugar simplify `tag` demo * docs(components): use setup sugar simplify `time-picker` demo * docs(components): use setup sugar simplify `time-select` demo * docs(components): use setup sugar simplify `timeline` demo * docs(components): use setup sugar simplify `tooltip` demo * docs(components): use setup sugar simplify `transfer` demo * docs(components): use setup sugar simplify `transition` demo * docs(components): use setup sugar simplify `tree` demo * docs(components): use setup sugar simplify `table` demo * docs(components): Escape character * docs(components): use setup sugar simplify `tree-v2` demo * docs(components): use setup sugar simplify `upload` demo * docs(components): use `ref` to replace `reactive` * docs(ci): use `playground` to replace `codepen` * docs(ci): change icon from `codepen` to `ep` * docs(components): `sass` to `css` * fix(components): add button CssVar * docs(ci): change `Edit in Codepen.io` to `Edit in Playground` * docs(ci): add vitepress i18
84 lines
2.3 KiB
Vue
84 lines
2.3 KiB
Vue
<template>
|
|
<el-space direction="vertical" alignment="flex-start">
|
|
<el-button @click="setLoading">Click me to reload</el-button>
|
|
<el-skeleton style="width: 240px" :loading="loading" animated :count="3">
|
|
<template #template>
|
|
<el-skeleton-item variant="image" style="width: 400px; height: 267px" />
|
|
<div style="padding: 14px">
|
|
<el-skeleton-item variant="h3" style="width: 50%" />
|
|
<div
|
|
style="
|
|
display: flex;
|
|
align-items: center;
|
|
justify-items: space-between;
|
|
margin-top: 16px;
|
|
height: 16px;
|
|
"
|
|
>
|
|
<el-skeleton-item variant="text" style="margin-right: 16px" />
|
|
<el-skeleton-item variant="text" style="width: 30%" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<template #default>
|
|
<el-card
|
|
v-for="item in lists"
|
|
:key="item.name"
|
|
:body-style="{ padding: '0px', marginBottom: '1px' }"
|
|
>
|
|
<img :src="item.imgUrl" class="image multi-content" />
|
|
<div style="padding: 14px">
|
|
<span>{{ item.name }}</span>
|
|
<div class="bottom card-header">
|
|
<span class="time">{{ currentDate }}</span>
|
|
<el-button type="text" class="button">Operation button</el-button>
|
|
</div>
|
|
</div>
|
|
</el-card>
|
|
</template>
|
|
</el-skeleton>
|
|
</el-space>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { onMounted, ref } from 'vue'
|
|
import dayjs from 'dayjs'
|
|
|
|
interface ListItem {
|
|
imgUrl: string
|
|
name: string
|
|
}
|
|
|
|
const loading = ref(true)
|
|
const lists = ref<ListItem[]>([])
|
|
const currentDate = ref(dayjs().format('YYYY-MM-DD'))
|
|
|
|
const setLoading = () => {
|
|
loading.value = true
|
|
setTimeout(() => {
|
|
loading.value = false
|
|
}, 2000)
|
|
}
|
|
|
|
onMounted(() => {
|
|
loading.value = false
|
|
lists.value = [
|
|
{
|
|
imgUrl:
|
|
'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',
|
|
name: 'Deer',
|
|
},
|
|
{
|
|
imgUrl:
|
|
'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg',
|
|
name: 'Horse',
|
|
},
|
|
{
|
|
imgUrl:
|
|
'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg',
|
|
name: 'Mountain Lion',
|
|
},
|
|
]
|
|
})
|
|
</script>
|