vue3 markMap使用

安装依赖

javascript 复制代码
pnpm install markmap-lib
pnpm install markmap-view
pnpm install markmap-common

vue代码

javascript 复制代码
<template>
	<div class="markmap-container">
		<svg ref="svgRef" style="width: 100%; height: 100%; border: 1px solid #ccc;"></svg>
	</div>
</template>

<script setup>
	import {
		ref,
		onMounted,
		watch
	} from "vue";
	import {
		Markmap
	} from "markmap-view";
	import {
		Transformer
	} from "markmap-lib";

	// Markdown内容
	const initValue = `# 礼物交换

## 张三
- 给李四一瓶酒 🍾
- 给王五一瓶酒 🍾

## 李四
- 收到张三一瓶酒 🍾
- 给王五一包烟 🚬

## 王五
- 收到李四一包烟 🚬
- 收到张三一瓶酒 🍾`;

	// 引用和响应式数据
	const svgRef = ref(null); // 改为svgRef
	const markmapInstance = ref(null); // 改为更清晰的变量名
	const transformer = new Transformer();

	// 更新思维导图的方法
	const updateMarkmap = async () => {
		if (!markmapInstance.value || !initValue) return;

		try {
			const {
				root
			} = transformer.transform(initValue);
			markmapInstance.value.setData(root);
			// markmapInstance.value.fit(); // 自动调整视图
		} catch (error) {
			console.error("Markmap渲染错误:", error);
		}
	};

	onMounted(() => {
		if (svgRef.value) {
			// 初始化Markmap实例
			markmapInstance.value = Markmap.create(svgRef.value, {
				autoFit: true
			});
			updateMarkmap();
		}
	});
</script>

<style>
	.markmap-container {
		width: 100%;
		height: 100dvh;
	}

	.markmap-container svg {
		font-family: sans-serif;
		background-color: #f9f9f9;
	}
</style>
相关推荐
志尊宝9 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
m0_5873830015 小时前
无人自助拼豆系统落地开发实战指南 核心逻辑实现与部署经验分享
前端·javascript·vue.js·人工智能·经验分享·需求分析
.Hypocritical.16 小时前
SpringBoot+Vue 前后端分离项目部署到云服务器
服务器·vue.js·spring boot
溪语流沙17 小时前
【Web全栈进阶】Vue3起步:组件、模板语法、响应式数据
前端·javascript·vue.js·css3
志尊宝19 小时前
Vue3 零基础每日笔记(081):富文本编辑器集成 wangEditor 5——封装
前端·javascript·vue.js·笔记·信息可视化·echarts
志尊宝20 小时前
Vue3 零基础每日笔记(080):Vue3 + ECharts 数据可视化——封装可复用图表组件
前端·javascript·vue.js·笔记·信息可视化·echarts
斯内普吖20 小时前
(开源)校园充电宝租借管理系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源
mldong1 天前
一个 npm 包,九页审批中心:Vue3 项目接上工作流引擎
前端·javascript·vue.js
高级程序源1 天前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe1 天前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计