Skip to content

Commit 61674a3

Browse files
committed
fix(Skeleton): fix the problem of invalid loading default value
1 parent 8efdf67 commit 61674a3

File tree

6 files changed

+21
-48
lines changed

6 files changed

+21
-48
lines changed

src/skeleton/__test__/__snapshots__/demo.test.js.snap

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,6 @@ exports[`Skeleton Skeleton theme demo works fine 1`] = `
223223
class="demo-section__content"
224224
>
225225
<t-skeleton
226-
loading="{{true}}"
227226
theme="avatar"
228227
/>
229228
</wx-view>
@@ -238,7 +237,6 @@ exports[`Skeleton Skeleton theme demo works fine 1`] = `
238237
class="demo-section__content"
239238
>
240239
<t-skeleton
241-
loading="{{true}}"
242240
theme="image"
243241
/>
244242
</wx-view>
@@ -253,7 +251,6 @@ exports[`Skeleton Skeleton theme demo works fine 1`] = `
253251
class="demo-section__content"
254252
>
255253
<t-skeleton
256-
loading="{{true}}"
257254
theme="text"
258255
/>
259256
</wx-view>
@@ -268,7 +265,6 @@ exports[`Skeleton Skeleton theme demo works fine 1`] = `
268265
class="demo-section__content"
269266
>
270267
<t-skeleton
271-
loading="{{true}}"
272268
theme="paragraph"
273269
/>
274270
</wx-view>

src/skeleton/__test__/index.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ describe('skeleton', () => {
2626
describe('Props', () => {
2727
it(`: style && customStyle`, async () => {
2828
const id = simulate.load({
29-
template: `<t-skeleton class="skeleton" style="{{style}}" customStyle="{{customStyle}}" loading="{{true}}"></t-skeleton>`,
29+
template: `<t-skeleton class="skeleton" style="{{style}}" customStyle="{{customStyle}}"></t-skeleton>`,
3030
usingComponents: {
3131
't-skeleton': skeleton,
3232
},

src/skeleton/_example/skeleton.ts

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1 @@
1-
Page({
2-
data: {
3-
themeList: [
4-
{
5-
title: '头像骨架屏',
6-
value: 'avatar',
7-
loading: true,
8-
},
9-
{
10-
title: '图片骨架屏',
11-
value: 'image',
12-
loading: true,
13-
},
14-
{
15-
title: '文本骨架屏',
16-
value: 'text',
17-
loading: true,
18-
},
19-
{
20-
title: '段落骨架屏',
21-
value: 'paragraph',
22-
loading: true,
23-
},
24-
],
25-
},
26-
});
1+
Page({});

src/skeleton/_example/theme/index.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,18 @@ Component({
44
{
55
title: '头像骨架屏',
66
value: 'avatar',
7-
loading: true,
87
},
98
{
109
title: '图片骨架屏',
1110
value: 'image',
12-
loading: true,
1311
},
1412
{
1513
title: '文本骨架屏',
1614
value: 'text',
17-
loading: true,
1815
},
1916
{
2017
title: '段落骨架屏',
2118
value: 'paragraph',
22-
loading: true,
2319
},
2420
],
2521
},
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<view wx:for="{{themeList}}" wx:for-item="themeItem" wx:key="index">
22
<view class="demo-section__desc">{{themeItem.title}}</view>
33
<view class="demo-section__content">
4-
<t-skeleton theme="{{themeItem.value}}" loading="{{themeItem.loading}}"></t-skeleton>
4+
<t-skeleton theme="{{themeItem.value}}"></t-skeleton>
55
</view>
66
</view>

src/skeleton/skeleton.ts

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,15 @@ export default class Skeleton extends SuperComponent {
3737
rowCol() {
3838
this.init();
3939
},
40-
'loading,delay'(loading: boolean, delay: number) {
41-
if (!loading || delay === 0) {
42-
this.setData({
43-
isShow: loading,
44-
});
45-
return;
46-
}
47-
setTimeout(() => {
48-
this.setData({
49-
isShow: loading,
50-
});
51-
}, delay);
40+
'loading, delay'() {
41+
this.isShowSkeleton();
5242
},
5343
};
5444

5545
lifetimes = {
5646
attached() {
5747
this.init();
48+
this.isShowSkeleton();
5849
},
5950
};
6051

@@ -134,5 +125,20 @@ export default class Skeleton extends SuperComponent {
134125
});
135126
return style;
136127
},
128+
129+
isShowSkeleton() {
130+
const { loading, delay } = this.properties;
131+
if (!loading || delay === 0) {
132+
this.setData({
133+
isShow: loading,
134+
});
135+
return;
136+
}
137+
setTimeout(() => {
138+
this.setData({
139+
isShow: loading,
140+
});
141+
}, delay);
142+
},
137143
};
138144
}

0 commit comments

Comments
 (0)