Bootstrap таблица не изменится сама по себе при изменении размера окна - PullRequest
0 голосов
/ 28 февраля 2020

Если мы нажмем на кнопку, div будет расширяться от col-md-8 до col-md-12. Внутри этого div у нас есть table.table.table-responseive, управляемый Bootstrap.

Размер таблицы / tds слияния не изменят сами по себе sh при изменении размера окна (refre sh необходимо).

Кажется, это известная проблема , однако, у меня ничего не работает.

Когда div расширяется: он расширяется в порядке, но если я может заставить таблицу также расширяться, содержимое внутри не будет. У вас есть какие-нибудь идеи?

Пример того, что я кодировал , доступно в jsfiddle .

Я очень ценю вашу помощь, спасибо!

<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.16.0/dist/bootstrap-table.min.css">

<div id="table-wrapper">
  <table id="table" class="table table-responsive table-bordered">
    <thead id="table-thead">
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
      <th>Blanai</th>
    </thead>
    <tbody id="table-tbody">
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
      <td>Pounrn</td>
    </tbody>
  </table>
</div>

<script src="https://unpkg.com/bootstrap-table@1.16.0/dist/bootstrap-table.min.js"></script>
const resetTableView = () => {
  const tableWrapper = document.getElementById('table-wrapper');
  const thead = document.getElementById('table-thead');
  const tbody = document.getElementById('table-tbody');
  const wrapperWidth = tableWrapper.style.width;
  $(table).bootstrapTable('resetView');
  table.style.width = wrapperWidth;
  thead.style.width = wrapperWidth;
  tbody.style.width = wrapperWidth;
  console.log('table view reset ok');
};

aSpecialBtn.addEventListener("click", (() => {
  const wrapper = document.getElementById('table-wrapper-wrapper');
  const wrapperIsReduced = doesWrapperIsReduced(wrapper);

  if (wrapperIsReduced) {
    expandWrapper(wrapper); // calls resetTableView();
  } else {
    reduceWrapper(wrapper); // calls resetTableView();
  } 
  return resetTableView();
}));
document.addEventListener("keypress", e => {
  if (e.key == 'Enter') {
    resetTableView();
  }
});

Ответы [ 2 ]

0 голосов
/ 01 марта 2020

Правильный способ сделать это:

  • Удалить .table-responseive: таким образом, содержимое таблицы само по себе займет все доступное пространство.

  • Применить max-width: 100% и overflow-y: auto к оболочке таблицы.

I потеря способности иметь кнопку «+», которая отображает контент, недоступный на первый взгляд, так как в этом решении нам нужно прокручивать по горизонтали, чтобы увидеть всю таблицу.

0 голосов
/ 29 февраля 2020

вам нужно попробовать использовать @media, чтобы сделать его отзывчивым, потому что эта проблема сейчас распространена, поэтому попробуйте добавить {sm-md-lg-xl}, как этот .table-responsive{-sm|-md|-lg|-xl}, сделать вашу таблицу overflow-Y:auto; и переопределить bootstrap классы

ссылка: - https://getbootstrap.com/docs/4.4/content/tables/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...