У меня есть таблица - давайте вызовите ее в таблице 1. При нажатии на строку в таблице 1 отображается другая таблица, позвольте ей позвонить этой таблице 2. В таблице 2 показаны данные, относящиеся к строке с щелчком в таблице 1. Иногда вертикальная прокрутка должна отображаться в таблице 2, а иногда и не - зависит от количества строк. Необходимо решить: происходит нежелательный переход границы, когда свиток не отображается:
. Идея для решения: " изменить margin-right" в соответствии с условиями, которые показывают, выходит ли прокрутка или нет. Сохраните результат этого условия в Redux prop: element.scrollHeight > element.clientHeight || element.scrollWidth >
element.clientWidth
Проблема:. Попытка обновить отображение/отсутствие отображения прокрутки в редукс-опоре из разных событий React, таких как componentDidMount, componentWillReceiveProps, CopmponentDidUpdate (состояние установки вызывает цикл infinte здесь) и из click.Tried, чтобы использовать forceUpdate() после настройки реквизита в Redux.
При console.log в консоль в хром (F12), единственный результат, который правильно коррелирует с дисплеем/без отображения полосы прокрутки приходит изнутри componentDidUpdate и оно не отражает в перевождь проп (isoverflown функция возвращает true, reducex this.props.scrollStatus и this.state.scrollStatus являются ложными). Также не нравится использование document.getElementById для div, который содержит строки, поскольку он прерывает манипуляции с dom изнутри реквизита и состояния, но пока не нашел другого решения.
Консоль F12 при отображении полосы прокрутки:
Консоль F12, когда не отображается полоса прокрутки:
.
Остальная часть кода:
1) действие:
export function setScrollStatus(scrollStatus) {
return {
type: 'SET_SCROLL_STATUS',
scrollStatus: scrollStatus
};
}