Skip to content

Markdown 编辑器

image

介绍

Markdown 编辑器组件,支持实时预览,提供便捷工具栏快速插入标题、列表、代码块等常用标记,让结构化写作更直观高效的轻量级编辑组件。

API

Props

参数名描述类型默认值
status默认状态'default'|'readonly' | 'hide''default'
title标题string'Markdown'
showLabel显示标题booleantrue
value内容, 组件的默认数据string-
name数据字段string-
showToolbar显示工具栏booleantrue
toolbarConfig工具栏配置ToolbarConfig-
customUpload自定义上传,开启后需自定义文件上传接口booleanfalse
imageUploadUrl上传地址string-
fileName上传文件名stringfiles
extraData额外数据,上传接口除文件外所需的其他参数GenerateData-
headers头部信息,上传接口 header 所需的参数GenerateData-
didUpload上传后处理,处理上传接口的返回数据FixUploadData-
baseStyle自定义样式string-
customClass类名绑定string-
width宽度,布局容器宽度Size-
height高度,布局容器高度Size-
uniqueKey唯一标识 , 组件的唯一标识string-
extra补充说明string-
tip气泡提醒string-
validate校验Validate-
loop循环数据, 循环渲染设置Loop-

Events

事件名描述参数
onChange值改变且失焦时ctx: PangeaContext
params: { value:string }
loop: LoopParams

Type

js
// 工具栏配置
type ToolbarConfig = (
  | "bold" // 粗体
  | "italic" // 斜体
  | "header" // 标题
  | "underline" // 下划线
  | "strikethrough" // 中划线
  | "mark" // 标记
  | "superscript" // 上角标
  | "subscript" // 下角标
  | "alignleft" // 左对齐
  | "aligncenter" // 居中对齐
  | "alignright" // 右对齐
  | "quote" // 引用
  | "ol" // 编号列表OL
  | "ul" // 项目列表UL
  | "link" // 链接
  | "imagelink" // 图片
  | "code" // 插入源码
  | "table" // 表格
  | "undo" // 撤销
  | "redo" // 重做
  | "trash", // 清空
)[];


// 生成数据的自定义函数
type GenerateData = (ctx: PangeaContext) => Object;

// 处理上传成功返回的数据
type FixUploadData = (response: string, ctx: PangeaContext) => string;

// 宽度/高度
type Size = {
  unit: "px" | "%",
  value: string,
};

// 校验
type Validate = {
  required: boolean, // 必填
  requiredMsg: string, // 必填错误提示
  customFunc: boolean, // 自定义函数
  func: string, // 自定义函数
};

// 循环
type Loop = {
  data: any[],
  paramName: string,
  indexName: string,
  key: string,
};

// 循环变量数据参数
type LoopParams = {
  indexName: string,
  paramName: string,
  ref: ComputedRefImpl, // 全部的循环变量数据
  row: any,
  rowIndex: number,
}[];