Serializing CSV
Copy paste from CSV to Slate.
components/demo.tsx
'use client';
import React from 'react';
import { Plate } from '@udecode/plate-common/react';
import { editorPlugins } from '@/components/editor/plugins/editor-plugins';
import { useCreateEditor } from '@/components/editor/use-create-editor';
import { Editor, EditorContainer } from '@/components/plate-ui/editor';
import { DEMO_VALUES } from './values/demo-values';
export default function Demo({ id }: { id: string }) {
const editor = useCreateEditor({
plugins: [...editorPlugins],
value: DEMO_VALUES[id],
});
return (
<Plate editor={editor}>
<EditorContainer variant="demo">
<Editor />
</EditorContainer>
</Plate>
);
}
安装
npm install @udecode/plate-csv
使用
CSV -> Slate
import { CsvPlugin } from '@udecode/plate-csv';
const plugins = [
// ...otherPlugins,
CsvPlugin,
];
插件
CsvPlugin
Options
Collapse all
- 默认值:
0.25
(表示最多可以容忍 25% 的行包含错误。) - 默认值:
{ header: true }
(表示 CSV 数据的第一行应被视为表头。)
CSV 数据中错误的容忍度,以小数形式表示的百分比。该值是通过错误数与总行数的比率计算得出的。
传递给 PapaParse 库用于解析 CSV 数据的选项。
更多关于这些选项的详细信息,请参考 PapaParse 文档。
API
editor.api.csv.deserialize
接收 CSV(逗号分隔值)字符串并将其转换为 Slate 兼容格式。此函数使用 papaparse
库来解析 CSV 数据。
Parameters
Collapse all
- 默认值:
0.25
- 默认值:
{ header: true }
(表示 CSV 数据的第一行应被视为表头。)
编辑器实例。
要反序列化的 CSV 数据字符串。
以小数形式表示的百分比,从 0 到一个很大的数字,0 表示不允许有错误。百分比基于错误数与行数的比较。
传递给 PapaParse 库用于解析 CSV 数据的选项。
更多关于这些选项的详细信息,请参考 PapaParse 文档。
Returns
Collapse all
返回一个 TDescendant
对象数组,表示 CSV 数据在 Slate 兼容格式下的结构。
如果 CSV 数据解析失败或数据无效,此函数返回 undefined
。
此函数创建 CSV 数据的表格表示。如果 CSV 文件包含表头,它们会被添加为表格的第一行。后续每一行代表 CSV 文件中的值。如果 CSV 文件不包含表头,数据的每一行都会表示为表格中的一行。
请注意,该函数假定使用了对应于 ParagraphPlugin.key
、TablePlugin.key
、TableCellHeaderPlugin.key
、TableRowPlugin.key
和 TableCellPlugin.key
的特定插件。