Вертикальная полоса прокрутки в React-Bootstrap Accordion Body не кликабельна

Я использую аккордеон React-Bootstrap. Один из моих материалов содержит список, который иногда бывает довольно длинным. Я добавил overflowY: auto к стилю, чтобы в таких случаях добавить полосу прокрутки. Полоса прокрутки появляется, но на нее нельзя нажать (прокручивать можно только с помощью колеса мыши). Может ли кто-нибудь подсказать мне, почему это может быть и что мне нужно сделать, чтобы это исправить?

<div style = {{ paddingTop: "1.7rem" }}>
        <table className = "columnTable">
            <tbody>
                <tr>
                    {/* Other rows not shown */}
                    <td className = "header">Context Information</td>
                </tr>
                <tr>
                    <td>
                        <Accordion defaultActiveKey = {open.current} flush alwaysOpen>
                            {someList.filter(a => a.shouldbeIncluded == 'true').map((asset, i) => (
                                <Accordion.Item style = {{ cursor: pointer, overflow: 'auto' }} eventKey = {i.toString()} key = {itemUri} onClick = {e => HandleAccordionEvent(e, nameFromElsewhere)}>
                                    <Accordion.Header>{myPropertyName}</Accordion.Header>
                                    <Accordion.Body className = "bodyText ellipses" style = {{ overflowY: 'auto', maxWidth: 200, maxHeight: 200, textOverflow: 'ellipsis', padding: 10 }}>
                                        {myItemList.filter(a => a.filter == "criteria").map((a, j) => (
                                            <><a href = "randomUrl">{a.someRandomText}</a><br/></>
                                        ))}
                                    </Accordion.Body>
                                </Accordion.Item>
                            ))}
                        </Accordion>
                    </td>
                </tr>

                {/* Other rows */}
            </tbody>
        </table>

Для моего компонента определен следующий пользовательский CSS, но я не вижу в нем ничего, что имело бы какое-либо значение:

.accordion-button.collapsed {
  background-color: rgb(53, 132, 181) !important;
  color: white;
}

.accordion-button {
  font-size: medium;
  padding: 10px;
  background-color: rgb(0, 165, 203) !important;
  color: white !important;
}

.header {
  background-color: rgb(33, 90, 161);
  color: white;
  padding: 10px;
}

.bodyText {
  font-size: 15px;
  text-align: left;
}

.ellipses {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 200px;
}

.columnTable {
  border-width: 1px;
  border-color: lightgray;
  border-style: solid;
  position: 'absolute';
  top: 0;
  width: 200px;
  display: 'inline-block';
  padding-top: "1.7rem"
}

Рассмотрите возможность предоставления любого соответствующего CSS, который влияет на пример кода.

Wongjn 16.04.2024 23:51

@Wongjn Я добавил CSS для компонента. Я не вижу ничего, что могло бы иметь какое-то значение. Есть ли еще что-то, что мне следует искать, но я упускаю?

EJoshuaS - Stand with Ukraine 17.04.2024 00:49

Я создал JSFiddle вашего кода, но мне не удалось воссоздать проблему. Кроме того, у вас есть неверный CSS — absolute, inline-block и 1.7rem не следует заключать в кавычки в правиле .columnTable.

Wongjn 17.04.2024 09:29

@Wongjn Интересно... итак, проблема должна быть в чем-то другом, а не в коде, который я здесь включил, я думаю, позвольте мне изучить другой код, который может повлиять на это, и посмотреть, смогу ли я отследить код, который действительно вызывает это .

EJoshuaS - Stand with Ukraine 17.04.2024 15:24
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
4
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После получения помощи от коллеги проблема оказалась совершенно неожиданной. Код, который я показал в своем вопросе, полностью в порядке. Настоящей проблемой был мой контейнер React-bootstrap:

<Container>
    <Row style = {{ height: 10 }}>
      <Col><Image className = "my-company-header-style" /></Col>
    </Row>
    <Row>
      <Col md = {1}></Col>
      <Col md = {10}>
        <MyComponent/>
      </Col>
      {* This line was the real problem - it was covering the scroll bar *}
      <Col md = {1}></Col>
    </Row>
  </Container>

где MyComponent содержит код, который я показал в исходном вопросе (среди прочего). Изначально я создал в своей сетке три столбца (два из которых были пустыми столбцами, предназначенными только для пробелов). Тем временем некоторые изменения в коде сделали третий столбец ненужным; к сожалению, он все еще обрабатывался и закрывал правую часть моего компонента (включая полосу прокрутки).

Другие вопросы по теме