【发布时间】:2020-11-24 12:15:45
【问题描述】:
我正在尝试使用 d3 实现一个自定义组件来可视化数据。我正在使用 d3 渐变来渲染颜色。
添加另一个组件实例时,即使更改了Input() colorList,渐变的颜色也保持不变。有没有可能遗漏的东西?
代码示例如下: https://stackblitz.com/edit/spectrum-scale-component
//colorList = ['#9E0142', '#D53E4F','#090979']
<app-spectrum-scale
[data]="0.7"
[leftLabel]="'Feminine'"
[rightLabel]="'Masculine'"
[middleLabel]="'Neutral'"
[minVal]="-1"
[maxVal]="1"
[colorList]="['#9E0142', '#D53E4F','#090979']"
>
</app-spectrum-scale>
//colorList = "['#9E0142', '#D53E4F',
'#F46D43', '#FDAE61',
'#FEE08B', '#FFFFBF',
'#E6F598', '#ABDDA4',
'#66C2A5', '#6AA84F',
'#38761D']"
<app-spectrum-scale
[data]="0.55"
[leftLabel]="'Negative'"
[rightLabel]="'Positive'"
[middleLabel]="'Neutral'"
[minVal]="-1"
[maxVal]="1"
[colorList]="['#9E0142', '#D53E4F',
'#F46D43', '#FDAE61',
'#FEE08B', '#FFFFBF',
'#E6F598', '#ABDDA4',
'#66C2A5', '#6AA84F',
'#38761D']"
>
</app-spectrum-scale>
【问题讨论】:
-
我尝试添加 ff 行代码以删除前一个 svg
d3.select('svg').remove();的内容,但这最终删除了第一个组件,并重新创建了第二个组件