react 中 wangeditor富文本编辑器中 insertFn函数
时间: 2024-04-06 11:35:04 浏览: 93
wangEditor富文本编辑器
在 React 中使用 wangEditor 富文本编辑器时,可以在创建编辑器实例时通过 options 参数来配置 insertFn 函数。该函数用于在编辑器中插入自定义的内容,例如插入图片、插入视频等。
下面是一个示例代码:
```javascript
import React, { useRef, useEffect } from 'react'
import wangEditor from 'wangeditor'
function MyEditor() {
const editorRef = useRef(null)
useEffect(() => {
const editor = new wangEditor(editorRef.current)
editor.config.customInsert = true // 开启自定义插入内容
editor.config.menus = ['bold', 'italic', 'underline', 'image'] // 配置可用的菜单项
editor.create()
// 定义 insertFn 函数
editor.config.insertFn = (content) => {
// 在这里编写插入自定义内容的逻辑
// 例如插入图片
editor.cmd.do('insertHtml', `<img src="${content}" />`)
}
}, [])
const handleInsertImage = () => {
const imageUrl = 'https://example.com/image.jpg'
editorRef.current.querySelector('.w-e-toolbar [data-title="图片"]').click()
editorRef.current.querySelector('.w-e-menu [data-url-input]').value = imageUrl
editorRef.current.querySelector('.w-e-menu [data-ok]').click()
editorRef.current.focus()
}
return (
<div>
<div ref={editorRef} />
<button onClick={handleInsertImage}>插入图片</button>
</div>
)
}
```
在上面的代码中,我们在创建编辑器实例时通过 options 参数配置了 insertFn 函数。该函数接收一个参数 content,表示要插入的内容。在这个例子中,我们在 insertFn 函数中使用了 `editor.cmd.do('insertHtml', content)` 来插入自定义的内容。在这里我们插入的是一个 img 标签。
同时,我们还在渲染组件时添加了一个插入图片的按钮,点击该按钮会弹出 wangEditor 的图片上传框(需要在菜单中配置),并在用户选择图片后自动插入到编辑器中。
阅读全文