npm 包 @bidvine/react-summernote 使用教程

阅读时长 22 分钟读完

前言

在现代前端开发中,富文本编辑器是必不可少的工具之一。市面上有很多成熟的富文本编辑器,其中 Summernote 是目前比较流行的一款。

在 React 项目中,我们可以使用 npm 包 @bidvine/react-summernote 来方便地集成 Summernote 编辑器。

本文将详细介绍如何使用 @bidvine/react-summernote 来实现富文本编辑器功能。

安装和使用

1. 安装

2. 导入

3. 使用

-- -------------------- ---- -------
----------------
  ---------------            -- ---------- ---------- -----
  ----------                 -- --------
    ----- --------            -- --
    ------- ----              -- --
    ------------ -------- -- ---
    -------------- -----      -- -------- ---- -
    -------- -
      --------- -----------
      -------- -------- --------- ------------ ----------
      ------------ --------------
      --------- -----------
      -------- ------ ----- --------------
      --------- -----------
      ---------- -------- ---------- ----------
      -------- --------------
    --
  --
  ------------------- -- -   -- ----------
    --------------------
  --
--

配置参数

ReactSummernote 组件支持的配置参数如下:

参数 类型 默认值 说明
value string - 编辑器的内容,可以通过 setState() 方法动态更新
options object - 编辑器配置参数
onChange function - 内容改变时的回调函数

options 支持的配置参数如下:

参数 类型 默认值 说明
airMode boolean false 是否启用空气模式
dialogsFade boolean false 对话框是否以淡入淡出的形式呈现
disableDragAndDrop boolean false 是否禁用拖放功能
focus boolean false 编辑器是否初始获取焦点
fontNames array ['Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Symbol', 'Tahoma', 'Times New Roman', 'Verdana'] 字体列表
fontNamesIgnoreCheck array ([]! 需要排除的字体列表
callbacks object {} 回调函数
codeviewFilter boolean false 是否启用代码过滤
codeviewIframeWhitelistSource string '' 如果启用代码过滤,允许加载的 iframe 源站列表。
codeviewIframeWhitelistSrc array [] 如果启用代码过滤,允许加载的 iframe 源站列表。
codeviewIframeWhitelistUrls array [] 如果启用代码过滤,允许加载的 iframe 源站列表。
codeviewFilterRegex object {} 如果启用代码过滤,可设置需要过滤的标签、属性等。
codeviewHighligh boolean true 启用语法高亮。
codeviewScrollbar boolean true 启用滚动条。
codeviewSyncScroll boolean true 同步滚动条。
direction string 'ltr' 文字排列方向。
dialogsInBody boolean false 对话框是否渲染在 body 上。
dialogsMaxHeight number null 对话框的最大高度。
dialogsMinHeight number null 对话框的最小高度。
dialogsMoveable boolean true 对话框是否可移动。
dialogsResizable boolean true 对话框是否可调整大小。
dialogsOpenOnEnter boolean false 按下 Enter 键是否打开对话框。
height number, string 300 编辑器高度。
hint object 提示框相关配置项
hintMode string 'mention' 设置提示框模式。
hintSelect function null 提示框选中时的回调函数。
hintSet function null 提示框设置时的回调函数。
hintUsers array [] 提示框中的用户列表。
lang string 'en-US' 语言设置。
minHeight number, string null 编辑器的最小高度。
maxHeight number, string null 编辑器的最大高度。
modules object 编辑器各模块是否启用。
modules.Anchor object, boolean 锚点模块是否启用。
modules.Blockquote object, boolean 引用模块是否启用。
modules.Codeview object, boolean 代码视图模块是否启用。
modules.Color object, boolean, array 颜色选择(前、背景色)模块是否启用。
modules.Dropzone object, boolean 文件拖放模块是否启用。
modules.Emojis object, boolean Emoji 输入模块是否启用。
modules.File object, boolean 文件选择模块是否启用。
modules.Fontname object, boolean, array 字体选择模块是否启用。
modules.Fontsize object, boolean, array 字号选择模块是否启用。
modules.Fullscreen object, boolean 全屏模块是否启用。
modules.Image object, boolean 图片模块是否启用。
modules.Lineheight object, boolean, array 行高选择模块是否启用。
modules.Link object, boolean 链接模块是否启用。
modules.List object, boolean, array 列表模块是否启用。
modules.Media object, boolean, array 媒体模块是否启用。
modules.Paragraph object, boolean, array 段落模块是否启用。
modules.Paste object, boolean 粘贴模块是否启用。
modules.Shortcut object, boolean 快捷键模块是否启用。
modules.Style object, boolean, array 样式选择模块是否启用。
modules.Table object, boolean 表格模块是否启用。
modules.Template object, boolean 模板模块是否启用。
modules.Textstyle object, boolean, array 文字样式模块是否启用。
modules.Typing object, boolean 打字模块是否启用。
followingToolbar boolean false 编辑器内容滚动时,工具栏是否一直跟随文本。
placeholder string '' 编辑器内容为空时,显示的占位符。
popover object {} 工具栏弹出框相关配置项。
popover.air array [] 空气模式下工具栏弹出框相关配置项。
popover.image array [] 图片弹出框相关配置项。
popover.link array [] 链接弹出框相关配置项。
popover.table array [] 表格弹出框相关配置项。
stylairButtonBase object {} 悬浮按钮的基本样式。
styleTags array ['p', 'blockquote', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'] 标题样式列表。
tabsize number 4 缩进时的 tab 个数。
tableClassName function null 表格类名设置。
langInfo object {} 语言相关配置项。
styleWithSpan boolean true 是否使用 span 标签设置样式。
tooltip boolean true 光标悬停后是否显示提示框。
toolbar array 工具栏按钮列表。
toolbarContainer boolean, string, object, jQueryObject false 自定义工具栏容器。
useCommandShortcut boolean true 是否使用快捷键。
zIndex number 9999 编辑器弹出框的 z-index。

示例代码

-- -------------------- ---- -------
------ ------ - -------- - ---- --------
------ --------------- ---- ----------------------------
------ ------------------------------------------------------

-------- -------- -
  ----- --------- ----------- - -------------

  ------ -
    ----------------
      ---------------
      ----------
        ----- --------
        ------- ----
        ------------ --------
        -------------- -----
        -------- -
          --------- -----------
          -------- -------- --------- ------------ ----------
          ------------ --------------
          --------- -----------
          -------- ------ ----- --------------
          --------- -----------
          ---------- -------- ---------- ----------
          -------- --------------
        --
      --
      ------------------- -- -
        --------------------
      --
    --
  --
-

------ ------- -------

总结

本文介绍了如何使用 npm 包 @bidvine/react-summernote 来方便地集成 Summernote 编辑器,并详细介绍了组件的使用方法和配置项,希望能对大家学习前端开发有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067355890c4f7277583b78

纠错
反馈