Loading...
Loading...
Compare original and translation side by side
npm install @syncfusion/ej2-react-richtexteditor// src/App.css - add CSS imports
// @import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
import {
HtmlEditor, Image, Inject, Link,
QuickToolbar, RichTextEditorComponent, Toolbar
} from '@syncfusion/ej2-react-richtexteditor';
function App() {
return (
<RichTextEditorComponent height={450}>
<Inject services={[Toolbar, Image, Link, HtmlEditor, QuickToolbar]} />
</RichTextEditorComponent>
);
}
export default App;npm install @syncfusion/ej2-react-richtexteditor// src/App.css - add CSS imports
// @import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
import {
HtmlEditor, Image, Inject, Link,
QuickToolbar, RichTextEditorComponent, Toolbar
} from '@syncfusion/ej2-react-richtexteditor';
function App() {
return (
<RichTextEditorComponent height={450}>
<Inject services={[Toolbar, Image, Link, HtmlEditor, QuickToolbar]} />
</RichTextEditorComponent>
);
}
export default App;| Module | What it enables |
|---|---|
| Toolbar rendering and commands |
| HTML editing mode (default) |
| Markdown editing mode |
| Hyperlink insert/edit/remove |
| Image insertion and management |
| Video insertion |
| Audio insertion |
| HTML table insert/edit |
| Floating toolbar for images/links |
| Clean up pasted content formatting |
| Clean clipboard on copy/cut |
| File browser for server-side images |
| Resizable editor area |
| Character count display |
| Emoji search and insert |
| Slash |
| Import Word, export Word/PDF |
| Inline code block formatting |
| Auto-convert Markdown syntax while typing |
| Copy-paste text formatting |
| AI assistant integration |
| 模块 | 功能说明 |
|---|---|
| 工具栏渲染及命令支持 |
| HTML编辑模式(默认) |
| Markdown编辑模式 |
| 超链接插入/编辑/删除 |
| 图片插入及管理 |
| 视频插入 |
| 音频插入 |
| HTML表格插入/编辑 |
| 图片/链接的浮动工具栏 |
| 清理粘贴内容的格式 |
| 复制/剪切时清理剪贴板 |
| 服务端图片的文件浏览器 |
| 编辑器区域可调整大小 |
| 字符计数显示 |
| 表情搜索及插入 |
| 斜杠 |
| 导入Word,导出Word/PDF |
| 内联代码块格式化 |
| 输入时自动转换Markdown语法 |
| 复制粘贴文本格式 |
| AI助手集成 |
//saveIntervalsaveIntervalcreateddestroyedfocusblurchangeChangeEventArgsactionBeginactionCompletetoolbarClickupdatedToolbarStatusbeforeDialogOpen/ClosebeforePopupOpen/ClosebeforePasteCleanupafterPasteCleanupaiAssistantPromptRequestaiAssistantToolbarClickcreateddestroyedfocusblurChangeEventArgschangeactionBeginactionCompletetoolbarClickupdatedToolbarStatusbeforeDialogOpen/ClosebeforePopupOpen/ClosebeforePasteCleanupafterPasteCleanupaiAssistantPromptRequestaiAssistantToolbarClickfocusInfocusOutgetHtmlgetTextgetSelectedHtmlenableToolbarItemdisableToolbarItemremoveToolbarItemshowDialogcloseDialogDialogTypeselectAllgetRangeselectRangeclearUndoRedoexecuteAIPromptaddAIPromptResponsegetAIPromptHistoryclearAIPromptHistoryexecuteCommandCommandNamesanitizeHtmldestroyfocusInfocusOutgetHtmlgetTextgetSelectedHtmlenableToolbarItemdisableToolbarItemremoveToolbarItemDialogTypeshowDialogcloseDialogselectAllgetRangeselectRangeclearUndoRedoexecuteAIPromptaddAIPromptResponsegetAIPromptHistoryclearAIPromptHistoryexecuteCommandCommandNamesanitizeHtmldestroyheightwidthenabledreadonlyplaceholdercssClasstoolbarSettingsquickToolbarSettingsfloatingToolbarOffseteditorModeiframeSettingsinlineModeenterKeyvaluemaxLengthshowCharCountsaveIntervalenableHtmlSanitizerinsertImageSettingsinsertVideoSettingsinsertAudioSettingsfileManagerSettingsfontFamilyfontSizefontColorbackgroundColorformatcodeBlockSettingspasteCleanupSettingsenableClipboardCleanupaiAssistantSettingsimportWordexportWordexportPdfundoRedoStepskeyConfigslashMenuSettingsemojiPickerSettingsheightwidthenabledreadonlyplaceholdercssClasstoolbarSettingsquickToolbarSettingsfloatingToolbarOffseteditorModeiframeSettingsinlineModeenterKeyvaluemaxLengthshowCharCountsaveIntervalenableHtmlSanitizerinsertImageSettingsinsertVideoSettingsinsertAudioSettingsfileManagerSettingsfontFamilyfontSizefontColorbackgroundColorformatcodeBlockSettingspasteCleanupSettingsenableClipboardCleanupaiAssistantSettingsimportWordexportWordexportPdfundoRedoStepskeyConfigslashMenuSettingsemojiPickerSettingsimport { ChangeEventArgs } from '@syncfusion/ej2-react-richtexteditor';
function App() {
const onChange = (args: ChangeEventArgs) => {
console.log(args.value); // HTML string
};
return (
<RichTextEditorComponent change={onChange}>
<Inject services={[Toolbar, HtmlEditor]} />
</RichTextEditorComponent>
);
}import { ChangeEventArgs } from '@syncfusion/ej2-react-richtexteditor';
function App() {
const onChange = (args: ChangeEventArgs) => {
console.log(args.value); // HTML string
};
return (
<RichTextEditorComponent change={onChange}>
<Inject services={[Toolbar, HtmlEditor]} />
</RichTextEditorComponent>
);
}const [content, setContent] = useState('<p>Hello</p>');
<RichTextEditorComponent value={content} change={(e) => setContent(e.value)}>
<Inject services={[Toolbar, HtmlEditor]} />
</RichTextEditorComponent>const [content, setContent] = useState('<p>Hello</p>');
<RichTextEditorComponent value={content} change={(e) => setContent(e.value)}>
<Inject services={[Toolbar, HtmlEditor]} />
</RichTextEditorComponent>import { MarkdownEditor } from '@syncfusion/ej2-react-richtexteditor';
<RichTextEditorComponent editorMode="Markdown">
<Inject services={[Toolbar, MarkdownEditor]} />
</RichTextEditorComponent>import { MarkdownEditor } from '@syncfusion/ej2-react-richtexteditor';
<RichTextEditorComponent editorMode="Markdown">
<Inject services={[Toolbar, MarkdownEditor]} />
</RichTextEditorComponent>