ant-design-charts
ant-design-charts copied to clipboard
[Bug]: 使用labelFill来动态设置x轴文字颜色的时候不生效
Describe the bug / 问题描述
使用labelFill来动态设置x轴文字颜色的时候不生效
<Line
loading={loading}
animate={null}
data={data}
xField={'created_at'}
yField={'num'}
shapeField={'smooth'}
axis={{
x: {
labelFill: (created_at: string) => {
const date = moment(created_at).weekday();
if (date === 5 || date === 6) {
return '#ff0000';
}
return '#333';
},
labelFillOpacity: 1,
},
}}
slider={{
x: {},
}}
/>
在控制台输出color,是正常的,但是显式的颜色都是#333
Reproduction link / 复现链接
No response
Steps to Reproduce the Bug or Issue / 重现步骤
No response
Version / 版本
@ant-design/charts 版本:2.2.7 @ant-design/plots 版本:2.3.3
Please select / 请选择
OS / 操作系统
- [ ] macOS
- [x] Windows
- [ ] Linux
- [ ] Others / 其他
Browser / 浏览器
- [x] Chrome
- [ ] Edge
- [ ] Firefox
- [ ] Safari (Limited support / 有限支持)
- [ ] IE (Nonsupport / 不支持)
- [ ] Others / 其他
打印出来的是回调中返回的颜色值吗?
打印出来的是回调中返回的颜色值吗?
是的,我在return前面加上了console.log,颜色是想要的颜色,但是显示的时候,跟打印的颜色不一致
我是想在在x轴上,把周末的时间用红色的显示出来。
@ideaviewes 我这样测试看,是可以的。
{
x: {
labelFill: (item, v) => {
return v > 10 ? 'red' : 'green';
},
},
}
,您好,这个函数的第一个参数是什么呢?
我输出了一下,开始输出的是x轴的created_at的值,后来变成了一个对象
我暂时用这种办法解决了
我这里输出是稳定的,可能是个 bug,帮忙贴下最小复现代码吧🥲
https://ant-design-charts.antgroup.com/examples/statistics/line/#basic 在官网这个例子上直接改,就能复现,我给你截图
确实回调的值不一致 @lxfu1
看了一下实现,一个回调用于内部的 layout 计算,一个回调用于 label 绘制时。