1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| <template>
| <view
| class="cl-skeleton"
| :class="{
| 'is-loading': loading,
| }"
| :style="[baseStyle, loading && loadingStyle]"
| >
| <view class="cl-skeleton__inner" v-show="!loading">
| <slot></slot>
| </view>
| </view>
| </template>
|
| <script lang="ts">
| import { type PropType, type StyleValue, defineComponent } from "vue";
| import { useStyle } from "../../hooks";
|
| export default defineComponent({
| name: "cl-skeleton",
|
| props: {
| loading: {
| type: Boolean,
| default: true,
| },
| loadingStyle: {
| type: Object as PropType<StyleValue>,
| default: () => ({}),
| },
| },
|
| setup() {
| return {
| ...useStyle(),
| };
| },
| });
| </script>
|
|