Skip to content

Commit b83cf02

Browse files
authored
feat(slider): fix incorrect dot pos caused by repeated init (Tencent#3085)
* feat(slider): fix incorrect dot pos caused by repeated init each time init is called, the dots are set to the defaultValue position. Added a flag to filter fix Tencent#3083 * docs(slider): update readme
1 parent 0d31830 commit b83cf02

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/slider/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ t-class-cursor | 游标样式类
101101

102102
## FAQ
103103

104-
当 slider 外层使用 `hidden` 包裹,需要在 `hidden = false` 时,重新调用组件的 `init` 方法,才能正常渲染。如下:
104+
当 slider 外层使用 `hidden` 包裹,需要在 `hidden = false` 时,重新调用组件的 `init` 方法,才能正常渲染(在t-popup/t-dialog中同理)。如下:
105105

106106
```html
107107
<t-slider id="slider" />

src/slider/slider.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ type dataType = {
2828
prefix: string;
2929
isVisibleToScreenReader: boolean;
3030
identifier: number[];
31+
__inited: boolean;
3132
};
3233

3334
interface boundingClientRect {
@@ -46,6 +47,10 @@ export default class Slider extends SuperComponent {
4647
`${prefix}-class-cursor`,
4748
];
4849

50+
options = {
51+
pureDataPattern: /^__/,
52+
};
53+
4954
properties = props;
5055

5156
controlledProps = [
@@ -76,6 +81,7 @@ export default class Slider extends SuperComponent {
7681
prefix,
7782
isVisibleToScreenReader: false,
7883
identifier: [-1, -1],
84+
__inited: false,
7985
};
8086

8187
observers = {
@@ -218,6 +224,7 @@ export default class Slider extends SuperComponent {
218224
}
219225

220226
async init() {
227+
if (this.data.__inited) return;
221228
const line: boundingClientRect = await getRect(this, '#sliderLine');
222229
const { blockSize } = this.data;
223230
const { theme, vertical } = this.properties;
@@ -238,6 +245,7 @@ export default class Slider extends SuperComponent {
238245
maxRange,
239246
initialLeft,
240247
initialRight,
248+
__inited: true,
241249
});
242250
this.bus.emit('initial');
243251
}

0 commit comments

Comments
 (0)