From 244d0b966e5768ced795c2977dd90530a3908279 Mon Sep 17 00:00:00 2001 From: zhibi <1017866168@qq.com> Date: Thu, 16 May 2019 10:00:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D4.2.1=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E9=83=BD=E4=B8=8D=E5=8F=AF=E4=BB=A5=E4=BD=BF?= =?UTF-8?q?=E7=94=A8symbol:=20Function=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/marker/MarkPointView.js | 6 +++++- src/util/symbol.js | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/component/marker/MarkPointView.js b/src/component/marker/MarkPointView.js index ba6982abf..d95b6f2f9 100644 --- a/src/component/marker/MarkPointView.js +++ b/src/component/marker/MarkPointView.js @@ -102,6 +102,10 @@ export default MarkerView.extend({ mpData.each(function (idx) { var itemModel = mpData.getItemModel(idx); + var symbol = itemModel.getShallow('symbol'); + if (typeof symbol === 'function') { + symbol = symbol(mpModel.getRawValue(idx), mpModel.getDataParams(idx)); + } var symbolSize = itemModel.getShallow('symbolSize'); if (typeof symbolSize === 'function') { // FIXME 这里不兼容 ECharts 2.x,2.x 貌似参数是整个数据? @@ -113,7 +117,7 @@ export default MarkerView.extend({ symbolSize: symbolSize, color: itemModel.get('itemStyle.color') || seriesData.getVisual('color'), - symbol: itemModel.getShallow('symbol') + symbol: symbol }); }); diff --git a/src/util/symbol.js b/src/util/symbol.js index 0df28c2eb..54c4e7e5a 100644 --- a/src/util/symbol.js +++ b/src/util/symbol.js @@ -332,11 +332,15 @@ function symbolPathSetColor(color, innerColor) { export function createSymbol(symbolType, x, y, w, h, color, keepAspect) { // TODO Support image object, DynamicImage. + var isFunction = typeof symbolType === 'function' + if (isFunction) { + symbolType = symbolType(); + } + var symbolPath; var isEmpty = symbolType.indexOf('empty') === 0; if (isEmpty) { symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6); } - var symbolPath; if (symbolType.indexOf('image://') === 0) { symbolPath = graphic.makeImage( -- GitLab