заставить ширину ng-select настроить выбранные элементы / доступные опции? - PullRequest
0 голосов
/ 19 февраля 2019

Я использую ng-select в проекте Ionic3 / Angular5 и использую его конфигурацию множественного выбора.Представление выбранных входных данных всегда значительно шире, чем требуется, чтобы содержать выбранные элементы или любые доступные параметры.

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

Можно ли заставить ng-select вести себя таким образом?

1 Ответ

0 голосов
/ 02 марта 2019

Я не уверен, есть ли у ng-select встроенный способ сделать то, что вы хотите.Но это элемент блока, который означает, что вы можете контролировать его ширину, как вы хотите.А в Angular вы можете динамически управлять стилем с помощью ngStyle.Например: определите функцию getWidth() с помощью ngStyle.

  <ng-select [items]="items"
           [ngStyle]= "{width:getWidth()}"
           >
  </ng-select>

Теперь в функции getWidth вы можете вернуть любое значение, которым хотите управлять шириной.Вы можете перебирать элементы и получать максимальную длину элемента, а затем переводить в пиксели.есть отношение длины строки к пикселю, которое вам может понадобиться для эксперимента.И вы также можете прослушивать события и возвращать ширину на основе того, что в данный момент выбрано.

...