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

前言

在现代前端开发中,富文本编辑器是必不可少的工具之一。市面上有很多成熟的富文本编辑器,其中 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


猜你喜欢

  • 使用 eslint-plugin-emotion-utils 优化前端开发

    在前端开发过程中,我们经常需要使用 CSS-in-JS 框架来管理样式。其中,Emotion 是一个流行的 CSS-in-JS 框架,它提供了多种功能来管理和组织样式。

    4 年前
  • npm包:rollodeqc-gh-bookworm的使用教程

    在前端开发中,使用npm包已经成为了普遍的趋势。本文将详细介绍一个名为rollodeqc-gh-bookworm的npm包的使用方法,包括安装、引用、使用等方面,让大家对这个包的使用有更深入的了解。

    4 年前
  • npm 包 eslint-plugin-chartjs 使用教程

    前言 在现代化的前端开发中,我们经常使用各种工具来帮助我们提高代码质量和效率。其中,ESLint 被广泛使用来检查代码中的错误和不规范的写法。 在使用 ESLint 进行代码检查时,我们可能会遇到一些...

    4 年前
  • npm 包 spot-track 使用教程

    引言 近年来,前端开发领域中兴起了很多优秀的库和工具。其中,使用频率最高的必定要数 NPM,也就是 JavaScript 的包管理器。NPM 提供了海量的插件和依赖,这使得开发者可以更加高效地完成自己...

    4 年前
  • npm 包 images-resized 使用教程

    在 Web 开发中,经常需要对图片进行调整和压缩。而 Node.js 中有一个很方便的工具包,即 images-resized,可以轻松地对图片进行裁剪、压缩和缩放等操作。

    4 年前
  • npm 包 @gipphe/eslint-config-haskellish 使用教程

    简介 @gipphe/eslint-config-haskellish 是一个基于 ESLint 的 ASCII art 风格的 JavaScript 和 TypeScript 代码风格检查规则的 N...

    4 年前
  • npm 包 @captum/captum-example-schema 使用教程

    概述 @captum/captum-example-schema 是一个 Node.js 的包,可用于在前端应用中创建和管理示例数据的结构和验证。 该包使用了 JSON Schema 标准,通过简单易...

    4 年前
  • npm 包 auto-fly 使用教程

    1. 什么是 auto-fly auto-fly 是一个基于 gulp 的前端构建工具。它能够自动化完成前端项目中的构建、打包、压缩、发布等流程,从而大大提高了前端开发效率。

    4 年前
  • npm 包 stonks 使用教程

    简介 stonks 是一个用于分析股票市场数据的 npm 包,可以用 JavaScript 或 TypeScript 编写。它可以帮助你分析股票市场数据,让你更好地了解股票市场的趋势,做出更好的投资决...

    4 年前
  • npm 包 hyperterm-rgr 使用教程

    前言 随着云计算和 Web 技术的快速发展,前端技术日益重要。而在前端开发的过程中,命令行工具是非常常用的工具。而在常用命令行工具之中,HyperTerm 是一个非常优秀的选择。

    4 年前
  • npm 包 @captum/captum-ui 使用教程

    在前端开发中,数据可视化是一个很重要的方向。而进行数据可视化的分析与理解,需要借助特定的工具。其中,解释模型、监视模型行为以及进行模型诊断的工具,是模型数据可视化的关键组成部分。

    4 年前
  • NPM 包 react-swipe-to-dismiss 使用教程

    react-swipe-to-dismiss 是一个基于 React 的滑动删除组件,它能够让用户通过滑动手势非常容易地删除指定的列表元素。该库简单易用,且支持高级自定义配置。

    4 年前
  • npm 包 caseof 使用教程

    如果你在编写 JavaScript 代码时需要处理大量的条件分支,那么你可能会对 caseof 这个 npm 包感兴趣。它是一个可以简化条件分支的工具,让你的代码更加简洁和易于维护。

    4 年前
  • npm 包 @mapbox/mapbox-gl-language 使用教程

    简介 @mapbox/mapbox-gl-language 是一个基于 Mapbox GL JS 的插件,它允许开发者在地图上使用不同的语言和地方语言集(locale)。

    4 年前
  • npm 包 @bouzuya/expand-markdown-anchors 使用教程

    如果你是一个前端工程师,那么你一定知道使用 Markdown 对于编写详细的文档是非常方便的。Markdown 语法简单易懂,而且功能丰富,但是有时候,我们需要给文档中的标题增加锚点,这时候就需要使用...

    4 年前
  • npm 包:ern-container-transformer-script 使用教程

    介绍 ern-container-transformer-script 是一种 npm 包,它可以将一个电子资源管理器(ERN)容器转换为一个容器转换模式(CTM)所需的格式。

    4 年前
  • npm 包 @gasbuddy/configured-etcd-client 使用教程

    简介 @gasbuddy/configured-etcd-client是一个npm包,它使得使用etcd的客户端变得更加容易。这个npm包为开发人员提供了一组简单的API,可以用来访问etcd存储,这...

    4 年前
  • npm 包 jl-react-components-library 使用教程

    简介 jl-react-components-library 是一个基于 React 的组件库,它提供了若干个常用的组件,可以节省开发人员的时间,同时提高产品的质量和可维护性。

    4 年前
  • npm 包 passport-jupp 使用教程

    由于本包为英文包名,故以下说明中会出现英文简写表述,但会在首次出现时进行解释说明。 在前端领域中,我们通常需要处理用户认证(Authentication)与用户授权(Authorization)等问题...

    4 年前
  • npm 包 react-native-snack 使用教程

    前言 React Native 是一款流行的移动端跨平台开发框架,让我们可以用 JavaScript 创造高性能的原生移动应用,并且可以运行在 iOS 和 Android 平台上。

    4 年前

相关推荐

    暂无文章