From 01b33156241be89674690905a405ebb962dff7ee Mon Sep 17 00:00:00 2001 From: Ctank Date: Tue, 21 May 2019 14:23:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=89=A9=E5=B1=95=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/designer.js | 9 +++++---- src/utils/utils.js | 9 ++++----- static/extensions.js | 7 ++++++- static/index.html | 3 ++- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/core/designer.js b/src/core/designer.js index 0902092..1dec276 100644 --- a/src/core/designer.js +++ b/src/core/designer.js @@ -636,11 +636,12 @@ class Designer { createExtensionModel(values = []) { const extensions = [] values.forEach(extension => { + const descriptor = extension.$type || extension.name + delete extension.$type + delete extension.name const extensionModel = this.createModel({ - descriptor: extension.$type || extension.name, - attrs: { - value: extension.$body || extension.value - } + descriptor, + attrs: extension }) if (extensionModel) { extensions.push(extensionModel) diff --git a/src/utils/utils.js b/src/utils/utils.js index 4a39f15..cf8fbe7 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -261,12 +261,11 @@ export const setExportData = element => { */ const setExportExtensions = values => { const extensions = [] - for (let i = 0; i < values.length; i += 1) { - extensions.push({ - name: values[i].$type, - value: values[i].value - }) + const item = cloneDeep(values[i]) + item.name = item.$type + delete item.$type + extensions.push(item) } return extensions diff --git a/static/extensions.js b/static/extensions.js index 603292b..52476df 100644 --- a/static/extensions.js +++ b/static/extensions.js @@ -18,6 +18,11 @@ var Extension = { name: 'test2', superClass: ['Element'], properties: [ + { + name: 'attr', + type: 'String', + isAttr: true + }, { name: 'value', isBody: true, @@ -28,4 +33,4 @@ var Extension = { ], emumerations: [], associations: [] -} \ No newline at end of file +} diff --git a/static/index.html b/static/index.html index eba2d61..c96b995 100644 --- a/static/index.html +++ b/static/index.html @@ -197,7 +197,8 @@ }, { name: 't:test2', - value: '测试2' + value: '测试2', + attr: 'attr2' } ] })