Как создать выпадающий список подменю с помощью semantic-ui?

В руководстве говорится, что это невозможно сделать с помощью стандартного метода: http://semantic-ui.com/modules/dropdown.html

Однако кому-нибудь удалось это сделать?

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

Из этого:

Идет к этому:

Есть идеи?

1 ответ

Решение

Если структура говорит, что вы не можете сделать это, вы не можете сделать это. Тем не менее, всегда есть обходные пути.

http://jsfiddle.net/cronq539/

Примечание: следующий фрагмент не будет работать, когда вы нажмете кнопку, потому что переполнение стека не дает достаточной высоты в демонстрации для отображения всплывающего окна. Перейдите к jsfiddle выше, чтобы увидеть, как это работает.

$('.ui.dropdown').popup({
  popup: $('.ui.popup'),
  on: 'click'
});

$('.ui.menu .item').on('click', function() {
  $('.ui.dropdown').click();
  alert(this.innerHTML);
});
.ui.popup.fitted {
  padding: 0px;
}
.ui.popup.fitted > .ui.menu {
  border: none;
}
.ui.menu.scrolling {
  max-height: 20.57142857rem;
  overflow-x: hidden;
  overflow-y: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/semantic-ui/1.11.1/semantic.min.css" rel="stylesheet"/>
<script src="http://cdnjs.cloudflare.com/ajax/libs/semantic-ui/1.11.1/semantic.min.js"></script>
<div class="ui floating primary labeled icon top right pointing dropdown button">
  <i class="add user icon"></i>
  <span class="text">1</span>
</div>
<div class="ui fitted popup">
 <div class="ui vertical scrolling menu">
    <a class="item">Choice 1</a>
    <a class="item">Choice 2</a>
    <a class="item">Choice 3</a>
    <a class="item">Choice 4</a>
    <a class="item">Choice 5</a>
    <a class="item">Choice 6</a>
    <a class="item">Choice 7</a>
    <a class="item">Choice 8</a>
    <a class="item">Choice 9</a>
    <a class="item">Choice 10</a>
    <a class="item">Choice 11</a>
    <a class="item">Choice 12</a>
    <a class="item">Choice 13</a>
    <a class="item">Choice 14</a>
    <a class="item">Choice 15</a>
  </div>
</div>

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