fix(Swipe): active may outrange when initialize (#8061)

This commit is contained in:
neverland 2021-02-02 19:58:15 +08:00 committed by GitHub
parent 1644fc1338
commit 8ac3f43189
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 5 deletions

View File

@ -81,12 +81,10 @@ export default createComponent({
const resize = () => {
if (swipeRef.value) {
const { startPosition } = props;
swipeRef.value.state.active = +startPosition;
swipeRef.value.resize();
const rect = swipeRef.value.$el.getBoundingClientRect();
state.rootWidth = rect.width;
state.rootHeight = rect.height;
swipeRef.value.resize();
}
};

View File

@ -244,6 +244,8 @@ export default createComponent({
const rect = useRect(root);
active = Math.min(children.length - 1, active);
state.rect = rect;
state.swiping = true;
state.active = active;
@ -381,8 +383,7 @@ export default createComponent({
watch(
() => children.length,
() => {
const active = Math.min(children.length - 1, state.active);
initialize(active);
initialize(state.active);
}
);