[FIX] Scroll to top crashing when ref is undefined (#2252)
This commit is contained in:
parent
33edacf087
commit
0583de7158
|
@ -755,7 +755,7 @@ class RoomView extends React.Component {
|
||||||
if (handleCommandScroll(event)) {
|
if (handleCommandScroll(event)) {
|
||||||
const offset = input === 'UIKeyInputUpArrow' ? 100 : -100;
|
const offset = input === 'UIKeyInputUpArrow' ? 100 : -100;
|
||||||
this.offset += offset;
|
this.offset += offset;
|
||||||
this.flatList.scrollToOffset({ offset: this.offset });
|
this.flatList?.scrollToOffset({ offset: this.offset });
|
||||||
} else if (handleCommandRoomActions(event)) {
|
} else if (handleCommandRoomActions(event)) {
|
||||||
this.goRoomActionsView();
|
this.goRoomActionsView();
|
||||||
} else if (handleCommandSearchMessages(event)) {
|
} else if (handleCommandSearchMessages(event)) {
|
||||||
|
|
|
@ -504,12 +504,7 @@ class RoomsListView extends React.Component {
|
||||||
closeSearchHeader();
|
closeSearchHeader();
|
||||||
}
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const offset = isAndroid ? 0 : SCROLL_OFFSET;
|
this.scrollToTop();
|
||||||
if (this.scroll.scrollTo) {
|
|
||||||
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
|
|
||||||
} else if (this.scroll.scrollToOffset) {
|
|
||||||
this.scroll.scrollToOffset({ offset });
|
|
||||||
}
|
|
||||||
}, 200);
|
}, 200);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -538,9 +533,7 @@ class RoomsListView extends React.Component {
|
||||||
search: result,
|
search: result,
|
||||||
searching: true
|
searching: true
|
||||||
});
|
});
|
||||||
if (this.scroll && this.scroll.scrollTo) {
|
this.scrollToTop();
|
||||||
this.scroll.scrollTo({ x: 0, y: 0, animated: true });
|
|
||||||
}
|
|
||||||
}, 300);
|
}, 300);
|
||||||
|
|
||||||
getRoomTitle = item => RocketChat.getRoomTitle(item)
|
getRoomTitle = item => RocketChat.getRoomTitle(item)
|
||||||
|
@ -561,15 +554,17 @@ class RoomsListView extends React.Component {
|
||||||
this.goRoom({ item, isMasterDetail });
|
this.goRoom({ item, isMasterDetail });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
scrollToTop = () => {
|
||||||
|
const offset = isAndroid ? 0 : SCROLL_OFFSET;
|
||||||
|
if (this.scroll?.scrollToOffset) {
|
||||||
|
this.scroll.scrollToOffset({ offset });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
toggleSort = () => {
|
toggleSort = () => {
|
||||||
const { toggleSortDropdown } = this.props;
|
const { toggleSortDropdown } = this.props;
|
||||||
|
|
||||||
const offset = isAndroid ? 0 : SCROLL_OFFSET;
|
this.scrollToTop();
|
||||||
if (this.scroll.scrollTo) {
|
|
||||||
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
|
|
||||||
} else if (this.scroll.scrollToOffset) {
|
|
||||||
this.scroll.scrollToOffset({ offset });
|
|
||||||
}
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
toggleSortDropdown();
|
toggleSortDropdown();
|
||||||
}, 100);
|
}, 100);
|
||||||
|
|
Loading…
Reference in New Issue