From 5e865a4e33ca7208ab206adfaede9672781ae1d4 Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Tue, 25 Apr 2023 09:05:10 +0800 Subject: [PATCH] =?UTF-8?q?Feature=EF=BC=9A=E6=94=AF=E6=8C=81=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E8=8A=82=E7=82=B9=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 15 ++++++++++++++- simple-mind-map/src/svg/icons.js | 4 ++-- simple-mind-map/src/utils/nodeCreateContents.js | 12 +++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index 4357d39d..c273bb3e 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -105,7 +105,20 @@ const defaultOpt = { // 最大历史记录数 maxHistoryCount: 1000, // 是否一直显示节点的展开收起按钮,默认为鼠标移上去和激活时才显示 - alwaysShowExpandBtn: false + alwaysShowExpandBtn: false, + // 扩展节点可插入的图标 + iconList: [ + // { + // name: '',// 分组名称 + // type: '',// 分组的值 + // list: [// 分组下的图标列表 + // { + // name: '',// 图标名称 + // icon:''// 图标,可以传svg或图片 + // } + // ] + // } + ] } // 思维导图 diff --git a/simple-mind-map/src/svg/icons.js b/simple-mind-map/src/svg/icons.js index 735926e3..c08ab61b 100644 --- a/simple-mind-map/src/svg/icons.js +++ b/simple-mind-map/src/svg/icons.js @@ -279,9 +279,9 @@ export const nodeIconList = [ ] // 获取nodeIconList icon内容 -const getNodeIconListIcon = name => { +const getNodeIconListIcon = (name, extendIconList = []) => { let arr = name.split('_') - let typeData = nodeIconList.find(item => { + let typeData = [...nodeIconList, ...extendIconList].find(item => { return item.type === arr[0] }) return typeData.list.find(item => { diff --git a/simple-mind-map/src/utils/nodeCreateContents.js b/simple-mind-map/src/utils/nodeCreateContents.js index ba305df8..866a4db3 100644 --- a/simple-mind-map/src/utils/nodeCreateContents.js +++ b/simple-mind-map/src/utils/nodeCreateContents.js @@ -42,8 +42,18 @@ function createIconNode() { } let iconSize = this.mindMap.themeConfig.iconSize return _data.icon.map(item => { + let src = iconsSvg.getNodeIconListIcon(item, this.mindMap.opt.iconList || []) + let node = null + // svg图标 + if (/^