Я пытаюсь получить смайлики в выпадающем меню (выбрать тег) в моем проекте Angular 6.Я использую Unicode для этого.До сих пор мне удавалось только показать немного смайликов (например, ♥).Я хочу смайлики, подобные этим: ??? но все, что я вижу в браузере, это пустой квадрат.
Я попытался создать простой, простой HTML-файл, и тогда все смайлики появляются в выпадающем меню.Однако, когда я пытаюсь реализовать это в угловом шаблоне, это больше не работает.Я также попытался загрузить шрифт Symbola и добавить его в CSS, но там тоже не повезло.
Это шаблон:
<div class="postContainer postContent bg-dark" style="width: 80%;">
<form class="postForm" [formGroup]="newPost" (ngSubmit)="saveNewPost()">
<label class="text-warning label">Smiley</label>
<select formControlName="smiley" class="custom-select mr-sm-2 col form-control-lg" id="inlineFormCustomSelect"
[ngClass]="{ 'is-invalid': submitted && f.smiley.errors }">
<option selected>Choose...</option>
<!-- Attempt with the Symbola emoji font -->
<option value="Smiley1"><span class="emoji">😄</span></option>
<!-- Attempt without the Symbola emoji font -->
<option value="Smiley2">😄</option>
</select>
</form>
</div>
В моем файле styles.css font-face дляшрифт Symbola
@font-face {
font-family: "emoji", "Symbola";
src: url("./assets/fonts/emoji/Symbola-Emoji.woff") format("woff"),
url("./assets/fonts/emoji/Symbola-Emoji.ttf") format("ttf");
}
В CSS-файл шаблона добавляем шрифты Sybmola и emoji:
.emoji {
font-family: "emoji", "Symbola";
}
Странно, что он работает в отдельном html-файле, но не в моем проекте Angular.,Я использую редактор кода Visual Studio, если это имеет значение.Кто-нибудь знает, в чем здесь проблема?
Обновление 1: Если я скопирую сам эмодзи и поместу его в переменную в компоненте:
smiley: any = '?';
Изатем введите его в шаблон:
// Form and select tags...
<option value="Smiley2">{{smiley}}</option>
Показывает смайлики в выпадающем меню в Firefox, но не в Chrome.
Обновление 2: Кажется,быть проблемой Chrome.Я протестировал несколько случайных смайликов и пока только эмодзи от Unicode 7.0 до 10.0 (https://emojipedia.org/unicode-7.0/) работают для тега выбора в Chrome, старые версии - нет. Однако смайлики из другой версии отображаются в «нормальном» режиметеги, подобные тегу абзаца. Только не в теге option меню выбора. Все эмодзи, которые я хочу использовать, являются частью Unicode версий 6.0 и 6.1. Кто-нибудь знает, как решить эту проблему?
Обновление 3: Итак, я добавил несколько смайликов в выпадающее меню и перезапустил Angular и Chrome. Смайлики все отображаются, даже те из Unicode версии 6. Однако если я обновлю (F5) страницу, смайлики из версии 6 исчезнут изЯ думаю, моя проблема теперь наполовину решена: