Quill кастомные кнопки и выпадающие списки
25.10.2024
18.12.2024
2 минуты
95
0
0
0
0
Добавляем кастомную кнопку
Добавить кнопку в toolbar очень просто. Quill имеет специальный словарь, где хранит иконки для своего интерфейса. Чтобы получить доступ к этому словарю импортируй:
Теперь можно получить и сохранить любую SVG иконку. Чтобы добавить свою иконку, нужно сохранить её содержание. Для чтения содержания любого файла, я создал соответствующую функцию readFile:
После чего можно её использовать. Но как, спросишь ты? Quill использует специальные наименования. Чтобы иконка была применена, необходимо добавить соответствующий класс-селектор. Конкретно в моём примере это будет выглядеть вот так:
Чтобы от кнопки был хоть минимальный толк, можно привязать к ней специальный обработчик. Этот обработчик имеет точно такое же имя, как и имя кнопки. Вот так данный обработчик добавляется:
Добавляем кастомный выпадающий список
С выпадающим списком чуть по сложнее и я сейчас объясню почему. Всё дело в том, что quill активно налегает на CSS селекторы и без должной настройки стилей вы никуда не продвинетесь. Плюс я считаю, что тебе может потребоваться пару моих трюков, чтобы заставить работать селекторы правильно.
HTML код будет выглядеть вот так:
Дальше нужно добавить несколько стилей. Тебе возможно и не придётся их добавлять, ибо возможно такова особенность МОЕГО сайта, но если ничего не отображается, добавь этих стилей:
Теперь всё работает, только не совсем. Ты можешь заметить как выбранный по умолчанию элемент не меняется. Возможно, где-то в глубине исходного кода quill это и можно как-то исправить и настроить, но я такой возможности не нашёл. Поэтому ловите обработчик, как и в первом случае, при создании одной кнопки:
Айдишник не обязательно проставлять, но таким вот, не хитрым образом можно докрутить работу выпадающего списка в quill. Значение value в данном случае - это значение аттрибута тега <option>.
А у меня всё, надеюсь статья была полезна и нужна тебе. Все примеры кастомных кнопок ты сможешь найти на моём онлайн веб quill редакторе. Ну а теперь точно пока (^∀^●)ノシ
Комментарии
(0)
Отправить
Сейчас тут пусто. Буть первым (o゚v゚)ノ