NG-выберите несколько - Изменить высоту - PullRequest
0 голосов
/ 07 июня 2019

Это связано с вопросом на ng-select - Изменить высоту .Я хочу сделать то же самое, но с помощью ng-select, который позволяет выбрать несколько элементов.

Вот мой код ng-select:

<label class="col-sm-4 text-sm-right col-form-label">Payout Format</label>
                <div class="col-sm-8">
                    <ng-select
                        [items]="payoutFormats"
                        [multiple]="true"
                        [closeOnSelect]="true"
                        [searchable]="true"
                        bindValue="payoutBatchFormatID"
                        bindLabel="name"
                        placeholder="All"
                        [(ngModel)]="filter.payoutFormats"
                        name="payoutFormats">
                    </ng-select>
                </div>

В свой компонент я добавил следующие стили:

@Component({
    templateUrl: './test.component.html',
    styles: [`
        .ng-select{
            font-size:0.85em;
        }

        .ng-select .ng-select-container {
            min-height: 3px;
        }

        .ng-select.ng-select-multiple .ng-select-container {
            height: 3px;
        }
  `],
})

Мне удалось получить эторабота с не множественным полем выбора с помощью

.ng-select.ng-select-single .ng-select-container {
  height: 20px;
}

Но изменение его с .ng-select.ng-select-single на .ng-select.ng-select-multip, когда множественное включено, не имеет никакого эффектана высоте.

Вот как выглядит мой выбор после CSS:

enter image description here

Мне нужно, чтобы он был меньше.

ОБНОВЛЕНИЕ

В инструментах разработчика я могу изменить минимальную высоту в .ng-select .ng-select-container следующим образом:

enter image description here

И мое поле выбора выглядит меньше:

enter image description here

Однако добавление того же стиля к стилю моего компонента делаетне забрать это:

@Component({
    templateUrl: './list-exceptions-handling-payments.component.html',
    styles: [`
        .ng-select{
            font-size:0.85em;
        }

        .ng-select .ng-select-container{
            min-height: 3px;
        }


        .ng-select.ng-select-multiple .ng-select-container {
            height: 3px;
        }

  `],
})

1 Ответ

1 голос
/ 08 июня 2019

Вы переопределили .ng-select-container и .ng-select-multip, что правильно, но вы не переопределили его дочерние элементы.

Флажки множественного выбора имеют дополнительные элементы по сравнению с элементом выбора (кнопка отмены выбора, просмотр выбранных вариантов и т. Д.)

Это в

<div class="ng-value-container">
    <div class="ng-value>
    ....

enter image description here

div-значения ng содержат элементы mendoza и franklin:

enter image description here

Вам необходимо настроить высоту / высоту строки / поля / отступы, определенные в этих дочерних элементах.

EDIT:

Вам также необходимо уменьшить размер дочерних элементов, прежде чем размер родительского элемента уменьшится. Например. в GIF:

enter image description here

...