Используйте угловую иконку fontawesome при вводе текста заполнителя
Я использую официальные компоненты Font Awesome Angular в приложении Angular 6.
Но я не могу найти способ добавить значок поиска в качестве заполнителя к элементу ввода, кроме добавления дополнительных шрифтов в мое приложение, что нежелательно.
<div class="search-box">
<input type="search" [(ngModel)]="searchText" placeholder=" Search" />
</div>
2 ответа
Поэтому я придумываю такой обходной путь: вместо
<div class="search-box">
<input type="search" [(ngModel)]="searchText" placeholder=" Search" />
</div>
Я добавляю заполнитель в соседний блок
<div class="search-box">
<input class="search-box-input" type="search" [(ngModel)]="searchText"/>
<div class="search-box-placeholder-wrapper">
<fa-icon [icon]="faSearch" class="search-box-placeholder"></fa-icon>
<span> Search</span>
</div>
</div>
и добавил дополнительные стили CSS
.search-box {
position: relative;
&-placeholder-wrapper {
pointer-events: none;
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 8px;
}
&-input:focus + .search-box-placeholder-wrapper {
display: none;
}
}
Установите официальный шрифт-офигенный
npm install @fortawesome/fontawesome-free -s
Импортируйте шрифт в ваш файл styles.css
@import '@fortawesome/fontawesome-free/css/all.min.css';
Теперь вы можете использовать font-awesome обычным способом и искать иконки с официального сайта.