Skip to content

Commit d9e4be1

Browse files
committed
skeleton loading row count
1 parent d381da5 commit d9e4be1

File tree

3 files changed

+25
-13
lines changed

3 files changed

+25
-13
lines changed

dev/pages/Home.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@
185185
:sort-desc="false"
186186
:is-loading="false"
187187
skeleton-loading
188+
:skeleton-loading-row-count="5"
188189
row-clickable
189190
@row-clicked="onRowClicked"
190191
>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bootstrap-vue-wrapper",
3-
"version": "3.1.0",
3+
"version": "3.1.1",
44
"description": "Bootstrap 5 components in Vue3 wrapper.",
55
"module": "./dist/index.js",
66
"types": "./dist/index.d.ts",

src/components/bs-table/BsTable.vue

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,24 @@
2020
</tr>
2121
</thead>
2222
<tbody>
23-
<tr v-if="isLoading && !skeletonLoading">
24-
<td :colspan="fields.length">
25-
<slot name="loading">
26-
<div class="d-flex justify-content-center p-2">
27-
<div class="spinner-border spinner-border-sm" />
28-
</div>
29-
</slot>
30-
</td>
31-
</tr>
23+
<template v-if="isLoading">
24+
<tr v-if="!skeletonLoading">
25+
<td :colspan="fields.length">
26+
<slot name="loading">
27+
<div class="d-flex justify-content-center p-2">
28+
<div class="spinner-border spinner-border-sm" />
29+
</div>
30+
</slot>
31+
</td>
32+
</tr>
33+
<template v-else>
34+
<tr v-for="n in skeletonLoadingRowCount" :key="n">
35+
<td v-for="field in fields" :key="field.key">
36+
<div class="bs-skeleton-line" />
37+
</td>
38+
</tr>
39+
</template>
40+
</template>
3241
<tr v-else-if="items.length === 0">
3342
<td :colspan="fields.length">
3443
<slot name="empty">
@@ -61,9 +70,7 @@
6170
{{ item[field.key] }}
6271
</slot>
6372
</td>
64-
<td v-else-if="skeletonLoading">
65-
<div class="bs-skeleton-line" />
66-
</td>
73+
6774
</template>
6875
</tr>
6976
<tr v-if="item._showRowDetails && !isLoading">
@@ -160,6 +167,10 @@ export default defineComponent({
160167
type: Boolean,
161168
default: false,
162169
},
170+
skeletonLoadingRowCount: {
171+
type: Number,
172+
default: 20,
173+
},
163174
},
164175
emits: ['orderChanged', 'rowClicked'],
165176
methods: {

0 commit comments

Comments
 (0)