Надеемся, что к настоящему моменту (через 6 с лишним лет) вам удалось найти подходящее существующее решение для ваших нужд или вы смогли развернуть свое собственное. Если вы этого не сделали, я подумал, что следующее будет вам полезно, и те, кто наткнулся на это здесь, смотрят либо такое решение.
Утилита управления "упоминанием" состоит из 3 компонентов:
Модуль автозаполнения : Компонент, отвечающий за получение и отображение набора элементов, которые можно использовать для создания упоминания, с учетом строки.
Модуль отслеживания упоминаний : компонент, отвечающий за отслеживание данных, связанных с упоминанием; Как минимум, местоположение, а также поверхностные и существенные (если они существуют) значения каждого упоминания должны отслеживаться во всех модификациях текста элемента ввода, к которому прикреплена утилита.
Модуль визуального разграничения упоминания : Компонент, отвечающий за различие текста упоминания от остального текста в элементе ввода, к которому прикреплена утилита
Надеюсь, что поломка такой утилиты даст вам представление о том, как развернуть ее собственную реализацию.
Если вы предпочитаете использовать существующую надежную реализацию, взгляните на Mentionator , который поддерживается этим парнем прямо здесь :).