У меня есть md-select в моей форме с несколькими параметрами (так же, как демонстрация на сайте Angular Material а>). Он показывает разделенный запятыми список выбранных опций в поле ввода. Есть ли способ изменить разделитель? (например, измените запятую на звездочку или другой символ UTF-8).
Angular-material - Изменить разделитель в md-выборе нескольких опций
Ответы (1)
Вы можете сделать что-то с чистым CSS. Вы должны скрыть запятые, используя visibility: collapse
, и после этого вы можете добавить значок Unicode с псевдоэлементом :after
или :before
.
HTML
<md-select class="my-select" ng-model="vm.selectedItem" multiple>
<md-option ng-value="item.id" ng-repeat="item in vm.items">{{ item.name }}</md-option>
</md-select>
CSS
.my-select[multiple] .md-select-value span:first-child {
visibility: collapse;
}
.my-select[multiple] .md-select-value .md-text {
display: inline-block !important;
visibility: visible;
}
.my-select[multiple] .md-select-value .md-text:not(:last-child):after {
content: '\2605'; /* star */
margin: 0 -5px 0 5px;
}
Вот вам список глифов, которые вы можете использовать.
Кроме того, вы можете добавить значок шрифта с помощью CSS если хотите.
person
The.Bear
schedule
14.10.2017
для меня сгенерированный код шаблона не имеет символа запятой в качестве содержимого для псевдоселектора :after, поэтому он не может нацеливаться на него с помощью селектора :after.
- person Prime; 18.04.2020
@Prime, не могли бы вы поделиться своей версией углового материала, чтобы я мог обновить свой ответ, если это возможно?
- person The.Bear; 24.06.2020