У меня есть реактивный компонент, который является раскрывающимся списком. Каждый раз, когда открывается раскрывающийся список, мне нужно проверить, находится ли весь dromdown в области просмотра / видимом (особенно для мобильных устройств).
Если выпадающий список обрезан по области просмотра, необходимо прокрутить, чтобы можно было увидеть весь выпадающий список (при условии, что высота спада изменяется).
componentDidUpdate(prevProps, prevState, snapshot) {
if (prevState.isOpen === false && this.state.isOpen === true) {
if (this.node) {
const optionContainer = this.node.querySelector(
'.price-dropdown-options'
);
const recNode = this.node.getBoundingClientRect();
const recOption = optionContainer.getBoundingClientRect();
if ([some logic]) {
//window.scrollBy(0, ?????);
}
}
}
}
PS: this.node является ссылкой на выпадающую кнопку. Также раздел параметров позиционируется как абсолютный