什么是 cardstack-editor?
cardstack-editor 是一个基于 React 的 npm 包,它可以提供一个用户友好的卡片编辑器界面。它可以被用于在你的项目中创建类似 Trello、Wireframe 等应用的选择卡片、选项等。cardstack-editor 依靠 ember.js 开发的 cardstack 项目构建(仅仅是构建系统,不依赖框架本身)。
什么是 npm 包
npm 包是在 JavaScript 开发生态系统中用于分享模块化代码的标准。npm 是一个由 JavaScript 社区驱动的软件注册表,用于安装和管理软件包的。要使用一个与版本控制的包,可以使用 npm 包。
功能和特色
cardstack-editor 提供了一些灵活的功能。以下是一些它的特性:
- 快速搭建。cardstack-editor 提供了一些快捷的方式来搭建一个可视化编辑器的 UI 界面,使得人们不必担心样式、样板代码等问题。
- 灵活多样。cardstack-editor 提供了多种卡片类型,包括图像、链接、列表、文本、音频和视频。它还支持多种布局方式,包括
split
,grid
,columns
, 和full width
. - 可扩展性。cardstack-editor 的组件可以通过
slot
被扩展,这样你就可以获得更大的灵活性。 - 模块化。cardstack-editor 被分解成小的可重用的部分,这使得扩展、修改等操作非常方便。
- 易于使用。cardstack-editor 提供了可代码化和可视化编辑器的两种编辑方式(即
编辑
和拖放
). 这使得整个界面设计可以用一种非常合理的方式来实现。
下面就来介绍一下有关这些特性的详细信息。
安装和环境准备
使用npm安装
npm install cardstack-editor
使用Yarn安装
yarn add cardstack-editor
快速起步
cardstack-editor 主要由三部分构成,分别是 cardstack-editor
,cardstack-card
和 slot-creator
,下面我们来逐个介绍如何使用它们。
一、使用 cardstack-editor
cardstack-editor
是整个编辑器的主体部分,我们首先在 React 页面的入口处引入它。你可以把它作为父级组件,包含所有其他的卡片组件。
import { CardstackEditor } from 'cardstack-editor'; const App = () => { return ( <CardstackEditor> // 这里你可以放特定的卡片,用来进行编辑和添加 </CardstackEditor> ) }
二、使用 cardstack-card
cardstack-card
是卡片的具体实现,分为可见区和可编辑区,默认只有可见区,如果需要添加可编辑区的话需要设置 isEditable
为真。
这些组件通常是通过卡片编辑器组件方式引入的。
下面的代码演示了如何使用 cardstack-card
:
-- -------------------- ---- ------- ------ - ------------- - ---- ------------------- -------------- ---------- -------------- ------------- ---------------- ------- ------------------ ------------ ------------------ --
注意到其中的 type
参数是可以被覆盖的,这样可以定义不同的卡片类型,例如:
-- -------------------- ---- ------- ----- ---------- - - --- -------- ----- --------- ---------- -- ----------- ----- -------- ---------------- -- ------------- ----------- ------ -- -------------- --------------- --
三、使用 slot-creator
为了使用 slot-creator
,我们首先需要先创建一个 slot-creator
组件。在 cardstack-editor
主体中定义了哪些插槽,就在插槽的主体中放置对应的卡片就好。
import { SlotCreator } from 'cardstack-editor'; <SlotCreator slotName='my-slot' // 你需要在这里包括你定义的新的卡片类型 />
有了 my-slot
插槽之后,我们下面就可以让它去渲染相应的 cardstack-card
了:
-- -------------------- ---- ------- ------------ ------------------ - -------------- ---------- ----------------- ------------- ---------------- ------- ------------------ ------------ ------------------ -- --------------
编辑一个可视化卡片
要想编辑卡片,我们需要给它添加编辑功能。可以通过设置isEditable
属性为 true
来启动编辑器。
然后,我们可以使用 onSave
和 onCancel
属性函数来处理保存和取消编辑功能:
-- -------------------- ---- ------- ------ - -------- - ---- ------- ------ - ------------- - ---- ------------------- ----- ----------- ------------- - ---------------- ----- ---------- - --------- -- - -- --------- ------------------- ----------- -------------- -------------------- -- ----- ------------ - -- -- - -- ---------- -------------------- -- -------------- ---------- ----------------- ------------- ---------------- ------- ------------------ ------------ ------------------- ----------------------- ---------------------- --
扩展卡片新的属性
在定义一个新卡片时,你可以添加一些新的属性,以便在编辑器上进行扩展,例如增加检查项功能:
-- -------------------- ---- ------- ----- ------------ - - --- -------- ----- --------------- ---------- -- ----------- ----- -------- ---------------- -- ------------- ----------- ------ ----- - ---------- - - --- ---- ------ ----- ---------- ----- -- - --- ---- ------ ----- ---------- ------ -- - --- ---- ------ ----- ---------- ------ -- -- -- --
你也可以在定义 cardstack-card
时进行扩展。
-- -------------------- ---- ------- ------ - ------------- - ---- ------------------- ----- ------------------- - -- ----- -------- -- -- - ----- - --------- - - ----- ------ - ----- ----------------- --- ------ --------- -- -- - ------ - ---- --------- ------ --------------- ----------------- -- ---------------------- ------ -- --- ------ -- -- -------------- ---------- ------------------- ------------- ---------------- ------- ------------------ ------------ ------------------ ---------------------------------------- ------- ---------- - - --- ---- ------ ----- ---------- ----- -- - --- ---- ------ ----- ---------- ------ -- - --- ---- ------ ----- ---------- ------ -- -- -- --
打包发布自己的组件
如果我们想把自己建立的卡片组件发布到 npm 上,需要在 package.json
文件中声明它们。下面是一个基本的配置示例:
-- -------------------- ---- ------- - ------- ----------------------- ---------- -------- -------------- -------------- ------- ----------- ---------- ------ ------------------- - ------------------- --------- -------- ---------- ------------ --------- - -
然后构建你的卡片组件并导出它们,最后就可以发布到 npm 上。
总结
这篇文章介绍了如何使用 cardstack-editor npm 包,这是一个提供了用户友好的卡片编辑器界面的 npm 包。我们从环境准备、使用快速起步、编辑器的主体、添加编辑、扩展卡片新功能、发布自己的组件等方面进行了详细说明。相信读者们可以根据这篇文章提供的内容来学习、使用和扩展这个 npm 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c93ccdc64669dde5b16