You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
9.3 KiB

(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0aa978"],{1256:function(s,v,a){"use strict";a.r(v);var t=function(){var s=this;s._self._c;return s._m(0)},n=[function(){var s=this,v=s._self._c;return v("div",[v("h1",[s._v("Export 插件")]),v("p",[v("code",[s._v("Export")]),s._v("插件提供导出的功能。")]),v("h2",[s._v("注册")]),v("pre",{staticClass:"hljs"},[v("code",[v("span",{staticClass:"hljs-keyword"},[s._v("import")]),s._v(" MindMap "),v("span",{staticClass:"hljs-keyword"},[s._v("from")]),s._v(" "),v("span",{staticClass:"hljs-string"},[s._v("'simple-mind-map'")]),s._v("\n"),v("span",{staticClass:"hljs-keyword"},[s._v("import")]),s._v(" Export "),v("span",{staticClass:"hljs-keyword"},[s._v("from")]),s._v(" "),v("span",{staticClass:"hljs-string"},[s._v("'simple-mind-map/src/plugins/Export.js'")]),s._v("\n"),v("span",{staticClass:"hljs-comment"},[s._v("// import Export from 'simple-mind-map/src/Export.js' v0.6.0以下版本使用该路径")]),s._v("\n\nMindMap.usePlugin(Export)\n")])]),v("p",[s._v("注册完且实例化"),v("code",[s._v("MindMap")]),s._v("后可通过"),v("code",[s._v("mindMap.doExport")]),s._v("获取到该实例。")]),v("h2",[s._v("方法")]),v("p",[s._v("所有导出的方法都是异步方法,返回一个"),v("code",[s._v("Promise")]),s._v("实例,你可以使用"),v("code",[s._v("then")]),s._v("方法获取数据,或者使用"),v("code",[s._v("async await")]),s._v("函数获取:")]),v("pre",{staticClass:"hljs"},[v("code",[s._v("mindMap.doExport.png().then("),v("span",{staticClass:"hljs-function"},[s._v("("),v("span",{staticClass:"hljs-params"},[s._v("data")]),s._v(") =>")]),s._v(" {\n "),v("span",{staticClass:"hljs-comment"},[s._v("// ...")]),s._v("\n})\n\n"),v("span",{staticClass:"hljs-keyword"},[s._v("const")]),s._v(" "),v("span",{staticClass:"hljs-keyword"},[s._v("export")]),s._v(" = "),v("span",{staticClass:"hljs-keyword"},[s._v("async")]),s._v(" () => {\n "),v("span",{staticClass:"hljs-keyword"},[s._v("let")]),s._v(" data = "),v("span",{staticClass:"hljs-keyword"},[s._v("await")]),s._v(" mindMap.doExport.png()\n "),v("span",{staticClass:"hljs-comment"},[s._v("// ...")]),s._v("\n}\n")])]),v("p",[s._v("返回的数据为"),v("code",[s._v("data:url")]),s._v("格式的,你可以创建一个"),v("code",[s._v("a")]),s._v("标签来触发下载:")]),v("pre",{staticClass:"hljs"},[v("code",[v("span",{staticClass:"hljs-keyword"},[s._v("let")]),s._v(" a = "),v("span",{staticClass:"hljs-built_in"},[s._v("document")]),s._v(".createElement("),v("span",{staticClass:"hljs-string"},[s._v("'a'")]),s._v(")\na.href = "),v("span",{staticClass:"hljs-string"},[s._v("'xxx.png'")]),v("span",{staticClass:"hljs-comment"},[s._v("// .png、.svg、.pdf、.md、.json、.smm")]),s._v("\na.download = "),v("span",{staticClass:"hljs-string"},[s._v("'xxx'")]),s._v("\na.click()\n")])]),v("h3",[s._v("png(name, transparent = false, node = null)")]),v("blockquote",[v("p",[s._v("v0.9.2以下版本为:png(name, transparent = false, checkRotate, compress)")])]),v("blockquote",[v("p",[s._v("v0.7.0以下版本为: png(name, transparent = false, rotateWhenWidthLongerThenHeight)")])]),v("ul",[v("li",[v("p",[v("code",[s._v("name")]),s._v(":名称,可不传")])]),v("li",[v("p",[v("code",[s._v("transparent")]),s._v(":v0.5.7+,指定导出图片的背景是否是透明的")])]),v("li",[v("p",[v("code",[s._v("rotateWhenWidthLongerThenHeight")]),s._v(": v0.6.15+,v0.7.0+已废弃,Boolean, false, 是否在图片宽比高长时自动旋转90度")])]),v("li",[v("p",[v("code",[s._v("checkRotate")]),s._v(":v0.7.0+,(v0.9.2+已废弃),Function,可以传递一个函数,接收图片的宽度和高度两个参数,返回true或false,true代表图片需要旋转90度")])]),v("li",[v("p",[v("code",[s._v("compress")]),s._v(":v0.8.1+,(v0.9.2+已废弃),null | { width, height }, 压缩图片的参数,某些情况下导出的图片长宽可能非常大,如果希望减小,那么可以通过该参数来控制,宽或高只提供一个即可,会按比例缩放")])]),v("li",[v("p",[v("code",[s._v("node")]),s._v(":v0.9.11+,节点实例,如果传了,那么会仅导出该节点的内容;")])])]),v("p",[s._v("导出为"),v("code",[s._v("png")]),s._v("。")]),v("h3",[s._v("svg(name, plusCssText)")]),v("ul",[v("li",[v("p",[v("code",[s._v("name")]),s._v(":"),v("code",[s._v("svg")]),s._v("标题")])]),v("li",[v("p",[v("code",[s._v("plusCssText")]),s._v(":v0.4.0+,(v0.6.16+已去除该参数,改为在实例化时通过"),v("code",[s._v("resetCss")]),s._v("配置传入),当开启了节点富文本编辑,且"),v("code",[s._v("domToImage")]),s._v("传了"),v("code",[s._v("false")]),s._v("时,可以添加附加的"),v("code",[s._v("css")]),s._v("样式,如果"),v("code",[s._v("svg")]),s._v("中存在"),v("code",[s._v("dom")]),s._v("节点,想要设置一些针对节点的样式可以通过这个参数传入,比如:")])])]),v("pre",{staticClass:"hljs"},[v("code",[s._v("svg(\n "),v("span",{staticClass:"hljs-string"},[s._v("''")]),s._v(", \n "),v("span",{staticClass:"hljs-literal"},[s._v("false")]),s._v(", \n "),v("span",{staticClass:"hljs-string"},[s._v("`* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }`")]),s._v("\n)\n")])]),v("p",[s._v("导出为"),v("code",[s._v("svg")]),s._v("。")]),v("h3",[s._v("pdf(name, transparent = false)")]),v("blockquote",[v("p",[s._v("v0.8.1:pdf(name, useMultiPageExport, maxImageWidth)")])]),v("blockquote",[v("p",[s._v("v0.2.1+")])]),v("ul",[v("li",[v("p",[v("code",[s._v("name")]),s._v(":文件名称")])]),v("li",[v("p",[v("code",[s._v("useMultiPageExport")]),s._v(": v0.6.15+,(v0.9.2+已废弃),Boolean, false, 是否多页导出,默认为单页")])]),v("li",[v("p",[v("code",[s._v("maxImageWidth")]),s._v(":v0.8.1+,(v0.9.2+已废弃),null | Number,默认为a4纸的宽度的2倍, 压缩图片的参数,某些情况下图片的长宽可能非常大,导致pdf体积也非常大,所以如果希望减小体积,那么可以通过该参数来控制图片的最大宽度")])]),v("li",[v("p",[v("code",[s._v("transparent")]),s._v(":v0.9.2+,Boolean,默认为false,指定导出图片的背景是否是透明的")])])]),v("p",[s._v("导出为"),v("code",[s._v("pdf")]),s._v(",")]),v("blockquote",[v("p",[s._v("v0.9.3之前的版本这个方法不会返回数据,会直接触发下载。")])]),v("blockquote",[v("p",[s._v("v0.6.0版本以后,需要额外注册一个ExportPDF插件")])]),v("blockquote",[v("p",[s._v("内部导出pdf使用的是pdf-lib库将图片转为pdf,目前当节点数量比较大时导出pdf可能会丢失部分内容,所以建议有能力的开发者自行实现pdf的导出功能,如果项目中有后端开发,也可以寻求后端开发人员的支持。")])]),v("pre",{staticClass:"hljs"},[v("code",[v("span",{staticClass:"hljs-keyword"},[s._v("import")]),s._v(" ExportPDF "),v("span",{staticClass:"hljs-keyword"},[s._v("from")]),s._v(" "),v("span",{staticClass:"hljs-string"},[s._v("'simple-mind-map/src/plugins/ExportPDF.js'")]),s._v("\nMindMap.usePlugin(ExportPDF)\n")])]),v("h3",[s._v("json(name, withConfig)")]),v("p",[v("code",[s._v("name")]),s._v(":暂时没有用处,传空字符串即可")]),v("p",[v("code",[s._v("withConfig``:Boolean")]),s._v(", 默认为"),v("code",[s._v("true")]),s._v(",数据中是否包含配置,否则为纯思维导图节点数据")]),v("p",[s._v("返回"),v("code",[s._v("json")]),s._v("数据。")]),v("h3",[s._v("smm(name, withConfig)")]),v("p",[v("code",[s._v("simple-mind-map")]),s._v("自定义的文件格式,其实就是"),v("code",[s._v("json")]),s._v(",和"),v("code",[s._v("json")]),s._v("方法返回的数据一模一样。")]),v("h3",[s._v("md()")]),v("blockquote",[v("p",[s._v("v0.4.7+")])]),v("p",[s._v("导出"),v("code",[s._v("markdown")]),s._v("文件。")]),v("h3",[s._v("getSvgData(node)")]),v("p",[v("code",[s._v("node")]),s._v(": v0.9.11+, 节点实例,如果传了,那么会返回一个"),v("code",[s._v("clipData")]),s._v("对象,代表从完整的图片中裁剪出该节点区域的位置坐标数据;")]),v("p",[s._v("获取"),v("code",[s._v("svg")]),s._v("数据,异步方法,返回一个对象:")]),v("pre",{staticClass:"hljs"},[v("code",[s._v("{\n node,"),v("span",{staticClass:"hljs-comment"},[s._v("// svg节点")]),s._v("\n str,"),v("span",{staticClass:"hljs-comment"},[s._v("// svg字符串")]),s._v("\n clipData\n}\n")])]),v("h3",[s._v("xmind(name)")]),v("blockquote",[v("p",[s._v("v0.6.6+,需要额外注册一个ExportXMind插件")])]),v("pre",{staticClass:"hljs"},[v("code",[v("span",{staticClass:"hljs-keyword"},[s._v("import")]),s._v(" ExportXMind "),v("span",{staticClass:"hljs-keyword"},[s._v("from")]),s._v(" "),v("span",{staticClass:"hljs-string"},[s._v("'simple-mind-map/src/plugins/ExportXMind.js'")]),s._v("\nMindMap.usePlugin(ExportXMind)\n")])]),v("p",[s._v("导出为"),v("code",[s._v("xmind")]),s._v("文件类型,异步方法,返回一个"),v("code",[s._v("Promise")]),s._v("实例,返回的数据为一个"),v("code",[s._v("zip")]),s._v("压缩包的"),v("code",[s._v("data:url")]),s._v("数据,可以直接下载。")]),v("h3",[s._v("txt()")]),v("blockquote",[v("p",[s._v("v0.9.8+")])]),v("p",[s._v("导出"),v("code",[s._v("txt")]),s._v("文件。")])])}],_={},e=_,o=a("2877"),p=Object(o["a"])(e,t,n,!1,null,null,null);v["default"]=p.exports}}]);