Skip to content

Commit 98542eb

Browse files
committed
feat(Badge): update demo
1 parent 7fd059d commit 98542eb

File tree

4 files changed

+36
-10
lines changed

4 files changed

+36
-10
lines changed

packages/components/badge/__test__/__snapshots__/demo.test.js.snap

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,5 +267,27 @@ exports[`Badge Badge theme demo works fine 1`] = `
267267
slot="note"
268268
/>
269269
</t-cell>
270+
<wx-view
271+
class="demo-desc"
272+
style="margin-bottom: 32rpx"
273+
>
274+
三角角标
275+
</wx-view>
276+
<t-cell
277+
tClass="t-class-cell"
278+
title="单行标题"
279+
>
280+
<t-badge
281+
count="New"
282+
offset="{{
283+
Array [
284+
0,
285+
0,
286+
]
287+
}}"
288+
shape="triangle-right"
289+
slot="note"
290+
/>
291+
</t-cell>
270292
</theme>
271293
`;

packages/components/badge/_example/theme/index.wxml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,10 @@
2828

2929
<view class="demo-desc" style="margin-bottom: 32rpx">角标</view>
3030
<t-cell title="单行标题" t-class="t-class-cell">
31-
<t-badge count="New" offset="{{skylineRender ? ['-16rpx', '-56rpx']: [0, 0]}}" shape="ribbon" slot="note" />
31+
<t-badge count="New" offset="{{skylineRender ? ['-18rpx', '-32rpx']: [0, 0]}}" shape="ribbon" slot="note" />
32+
</t-cell>
33+
34+
<view class="demo-desc" style="margin-bottom: 32rpx">三角角标</view>
35+
<t-cell title="单行标题" t-class="t-class-cell">
36+
<t-badge count="New" offset="{{skylineRender ? ['-24rpx', '-32rpx']: [0, 0]}}" shape="triangle-right" slot="note" />
3237
</t-cell>

packages/components/badge/badge.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,34 +26,33 @@ export default class Badge extends SuperComponent {
2626
value: '',
2727
labelID: '',
2828
descriptionID: '',
29-
hasActualContent: false,
29+
useOuterClass: false,
3030
};
3131

3232
lifetimes = {
3333
ready() {
3434
const uniqueID = getUniqueID();
35-
const target = ['ribbon', 'ribbon-right', 'ribbon-left', 'triangle-right', 'triangle-left'];
35+
3636
this.setData({
3737
labelID: `${uniqueID}_label`,
3838
descriptionID: `${uniqueID}_description`,
3939
});
4040

41-
if (target.includes(this.properties.shape)) {
42-
this.checkForActualContent();
43-
}
41+
this.checkForActualContent();
4442
},
4543
};
4644

4745
methods = {
4846
checkForActualContent() {
49-
if (this.properties.content) {
50-
this.setData({ hasActualContent: true });
47+
const target = ['ribbon', 'ribbon-right', 'ribbon-left', 'triangle-right', 'triangle-left'];
48+
if (this.properties.content || !target.includes(this.properties.shape)) {
49+
this.setData({ useOuterClass: true });
5150
return;
5251
}
5352

5453
return getRect(this, `.${name}__content`).then((rect) => {
5554
const hasSlotContent = rect.width > 0 || rect.height > 0;
56-
this.setData({ hasActualContent: hasSlotContent });
55+
this.setData({ useOuterClass: hasSlotContent });
5756
});
5857
},
5958
};

packages/components/badge/badge.wxml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<view
1111
style="{{_._style([style, customStyle])}}"
12-
class="{{classPrefix}} {{ !hasActualContent? classPrefix + '__' + shape + '-outer': '' }} class {{prefix}}-class"
12+
class="{{classPrefix}} {{ !useOuterClass? classPrefix + '__' + shape + '-outer': '' }} class {{prefix}}-class"
1313
aria-labelledby="{{labelID}}"
1414
aria-describedby="{{descriptionID}}"
1515
aria-role="{{ ariaRole || 'option'}}"

0 commit comments

Comments
 (0)