:
🚄首先是安装:
yarn add md-editor-rt
或
tnpm i md-editor-rt -S
或
npm i md-editor-rt -S
🚃他的使用:
import React, { useState } from 'react';
import Editor from 'md-editor-rt';
import 'md-editor-rt/lib/style.css';
export default function Md() {
const [text, setText] = useState('hello md-editor-rt!');
return <Editor modelValue={text} onChange={setText} />;
}
示例图:
🤗图片上传:
默认可以选择多张图片,支持截图粘贴板上传图片,支持复制网页图片粘贴上传。
注意:粘贴板上传时,如果是网页上的 gif 图,无法正确上传为 gif 格式!请保存本地后再手动上传。
const onUploadImg = async (files, callback) => {
const res = await Promise.all(
Array.from(files).map((file) => {
return new Promise((rev, rej) => {
const form = new FormData();
form.append('file', file);
axios
.post('/api/img/upload', form, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then((res) => rev(res))
.catch((error) => rej(error));
});
})
);
callback(res.map((item) => item.data.url));
};
🎉顶部工具栏调整:
支持调整工具栏内容顺序和分割符了。
可以随意排序工具栏,通过'-'
分割两个工具,通过'='
实现左右放置!
'bold', 'underline', 'italic', '-', 'strikeThrough', 'sub', 'sup', 'quote', 'unorderedList',
'orderedList', '-', 'codeRow', 'code', 'link', 'image', 'table', '-', 'revoke', 'next', 'save',
'=', 'pageFullscreen', 'fullscreen', 'preview', 'htmlPreview', 'catalog', 'github'
// 对应功能名称
'加粗', '下划线', '斜体', '删除线', '下标', '上标', '引用', '无序列表',
'有序列表', '行内代码', '块级代码', '链接', '图片', '表格', '后退一步', '前进一步', '保存',
'页面内全屏', '屏幕全屏', '内容预览', 'html代码预览', '目录', '源码地址
=
import React, { useState } from 'react';
import Editor, { ToolbarTips } from 'md-editor-rt';
import 'md-editor-rt/lib/style.css';
export default function Md() {
const [text, setText] = useState('hello md-editor-rt!');
const [toolbars] = useState<(keyof ToolbarTips)[] | undefined>(
[
'bold',
'underline',
'italic',
'-',
'strikeThrough',
'title',
'sub',
'sup',
'quote',
'unorderedList',
'orderedList',
'-',
'codeRow',
'code',
'link',
'image',
'table',
'-',
'revoke',
'next',
'save',
'=',
'pageFullscreen',
'fullscreen',
'preview',
'htmlPreview',
]
);
return <Editor
modelValue={text}
onChange={setText}
toolbars={toolbars}
/>;
}
🎉图片示例:
因篇幅问题不能全部显示,请点此查看更多更全内容