npm 包 @harveyprince/slate-edit-table 使用教程

前言

在 Slate.js 编辑器中创建表格可以方便地展示数据并且让用户进行更好的交互体验。但是 Slate.js 默认没有提供表格编辑的功能,需要引入相应的插件。

@harveyprince/slate-edit-table 是一个可以用于在 Slate.js 编辑器中创建和编辑表格的 npm 包。在本文中,我们将为您介绍如何使用该 npm 包来在 Slate.js 中创建和编辑表格。

安装

在使用 @harveyprince/slate-edit-table 之前,需要先安装 Slate.js 和相应的插件。

使用 npm 命令行工具在项目中安装 Slate.js 和 @harveyprince/slate-edit-table:

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

使用

初始化 Slate.js 编辑器

首先,我们需要初始化 Slate.js 编辑器

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

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

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

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

创建表格

要在 Slate.js 编辑器中创建表格,首先我们要定义一个插入表格的函数

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

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

然后我们将这个函数通过一个按钮触发

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

编辑表格

@harveyprince/slate-edit-table 官方提供了一个 toolbar,在项目中添加该 toolbar 就可以对表格进行编辑。具体步骤如下:

首先定义一个 withTables 函数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

然后添加 toolbar

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

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

最后,将 toolbar 添加到 Slate.js 编辑器中即可

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

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

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

示例代码

下面是一份完整的示例代码,copy 到本地项目中即可运行:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005739781e8991b448e9893


猜你喜欢

  • npm 包 geom-utils 使用教程

    简介 geom-utils 是一个适用于前端开发的 npm 包,提供了一些用于计算几何形状的实用工具集。 本文将详细介绍 geom-utils 包的使用方法,让读者能够快速上手,提升开发效率。

    3 年前
  • npm 包 lz-hello 使用教程

    前言 在前端开发中,我们经常会使用各种工具和库来辅助我们完成开发任务。npm(Node Package Manager)作为世界上最大的软件仓库,拥有数以百万计的开源包,为前端工程师提供了方便快捷的包...

    3 年前
  • npm包seeui使用教程

    近年来,前端技术的快速发展使得我们可以很方便地使用各种第三方工具包来提升开发效率。npm作为最大的开源软件库之一,为我们提供了丰富的开源软件资源。本文主要介绍一个常用的前端组件库——seeui,介绍如...

    3 年前
  • npm 包 lighthouse-pwa 使用教程

    npm 包 lighthouse-pwa 使用教程 作为一名前端开发工程师,我们必须时刻保持着对 web 应用性能的关注。我们好不容易写完一份代码,仅仅上线就令人激动。

    3 年前
  • npm 包 react-smart-router 使用教程

    前端开发中,路由管理是必不可少的一部分。之前,我们可能需要手动编写路由代码,但随着 npm 上的 react-smart-router 包的出现,现在我们可以更方便地管理路由。

    3 年前
  • npm 包 `zotis-fs-store` 使用教程

    zotis-fs-store 是一个基于 Node.js 的文件存储库。它能够帮助前端类项目管理一些需要存储到本地的内容,如用户配置、缓存、以及本地数据等。本文将详细介绍 zotis-fs-store...

    3 年前
  • npm 包 @anidiotsguide/idiotic-api 使用教程

    在前端开发中,我们可能需要从服务器获取数据或者调用一些 API。@anidiotsguide/idiotic-api 是一个方便易用的 npm 包,可以帮助我们快速地调用各种 API。

    3 年前
  • npm 包 apr-sort-by 使用教程

    介绍 apr-sort-by 是一款能够根据指定条件按照升序或降序排序的 Node.js 模块。它非常简单易用,可以用来帮助你快速排序一维或多维数组。 安装 你可以使用 npm 包管理器来下载并安装 ...

    3 年前
  • npm 包 apr-until 使用教程

    在前端开发中,我们不可避免地会使用各种工具和模块,其中 npm 包是使用最为广泛的一种包管理方式。而 apr-until 就是一款常用的 npm 工具包,今天我们就来详细介绍一下它的使用方法以及一些实...

    3 年前
  • npm 包 apr-whilst 使用教程

    什么是 apr-whilst? apr-whilst 是一个使用 Node.js 的异步流程控制库,可以让我们在特定的条件下,异步地执行一些操作,例如循环一组数据直到满足一个条件为止。

    3 年前
  • npm 包 docker-hive 使用教程

    Docker-Hive 是一个基于 Docker 的 Hive 集群管理工具,它可以方便地启动和停止 Hive 集群,以及管理集群中的 Hive 节点。npm 包 docker-hive 是基于 Do...

    3 年前
  • npm 包 facilmap-frontend 使用教程

    介绍 Facilmap 是一款基于 Leaflet 的地图应用开发框架,facilmap-frontend 则是其专门为前端开发者设计的 npm 包。使用 facilmap-frontend 可以轻松...

    3 年前
  • npm 包 facilmap-server 使用教程

    facilmap-server 是一款可以在 Node.js 平台上运行的、用于快速搭建地图服务的 npm 包。它提供了丰富的地图操作接口,可以轻松地操控地图数据,并支持多种地图格式的读写。

    3 年前
  • NPM包hapi-remote-address使用教程

    在前端开发中,我们可能经常需要获取客户端的IP地址。而使用Node.js开发Web应用程序时,我们可以通过hapi-remote-address这个NPM包来轻易地获取客户端的IP地址。

    3 年前
  • npm 包 database-js2 使用教程

    如果你是一个前端开发人员,你一定经常需要和数据库打交道。而在前端开发中,使用 npm 包提供的库和工具是一种非常方便的方式。今天,我来为大家介绍一个常用的 npm 包——database-js2。

    3 年前
  • npm 包 jsevents-js 使用教程

    介绍 本文将介绍如何使用 npm 包 jsevents-js,以便在前端开发中更有效地处理 JavaScript 事件。此包为轻量级事件发布/订阅模型,可以在分布式应用程序和模块中使用。

    3 年前
  • npm 包 lifeid-js-oidc-provider-core 使用教程

    前言 在前端开发中,我们经常需要使用到身份认证和授权等功能。而 OpenID Connect (OIDC) 则是目前最流行的身份认证和授权协议之一。在 OIDC 中,用户通过第三方认证,获得 toke...

    3 年前
  • npm 包 meta-pdf 使用教程

    在前端开发中,我们经常需要将 HTML 文件转换为 PDF 文件。而 meta-pdf 这个 npm 包可以帮助我们完成这一任务。本文将介绍 meta-pdf 的详细使用方法,包括安装和 API 的基...

    3 年前
  • npm 包 rename-dll 使用教程

    前言 在前端开发过程中,我们经常会使用到一些第三方的库,比如 jQuery、react 等。而有时候我们需要对这些库进行重命名,比如将 jQuery 重命名为 $,可以减少代码体积并提高代码可读性。

    3 年前
  • npm 包 numj 使用教程

    介绍 在前端开发中,数学计算经常是不可避免的。npm 包 numj 就是一个专门针对数学计算的工具包,提供了各种数学计算方法和数据结构。 安装 在安装 numj 前,需要先安装 Node.js。

    3 年前

相关推荐

    暂无文章