Проблема полягає у тому, що стандартний інструмент вибору розміру шрифту у панелі інструментів Froala Editor представлений у вигляді розкривного списку, що обмежує користувача вибирати лише з заданих значень. Однак іноді може виникнути потреба у виборі точного розміру шрифту, який не входить до списку. Давайте розглянемо, як вирішити цю проблему та додати власне поле введення для вказання розміру шрифту вручну у React JS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import React, { Component } from 'react'; import FroalaEditorComponent from "react-froala-wysiwyg"; class CustomFroalaEditor extends Component { constructor(props) { super(props); this.state = { fontSize: 12 // початкове значення розміру шрифту }; this.handleFontSizeChange = this.handleFontSizeChange.bind(this); } handleFontSizeChange(e) { const newSize = e.target.value; this.setState({ fontSize: newSize }); } render() { const { fontSize } = this.state; const froalaConfig = { toolbarButtons: { moreText: { buttons: ['fontSize'], buttonsVisible: 1 } }, fontSizeSelection: true }; return ( <div> <input type="number" min="8" max="72" value={fontSize} onChange={this.handleFontSizeChange} /> <FroalaEditorComponent config={froalaConfig} /> </div> ); } } export default CustomFroalaEditor; |
У даному прикладі ми створили компонент CustomFroalaEditor, який містить поле введення для вказання розміру шрифту і компонент FroalaEditorComponent, який відповідає за відображення текстового редактора Froala Editor.
Поле введення має обмеження на введення чисел від 8 до 72, щоб відповідати стандартним розмірам шрифту. При зміні значення поля введення оновлюється стан компонента, що відображає вибраний розмір шрифту. Зазначений розмір шрифту також автоматично оновлюється у текстовому редакторі Froala Editor завдяки передачі конфігурації з параметром fontSizeSelection: true.
Тепер користувач може вказати розмір шрифту вручну, обираючи значення у полі введення, і це значення буде використовуватись для відображення тексту з відповідним розміром шрифту у Froala Editor.