3

我在反应原生(victory-native)上使用 VictoryPie。我的目标是能够在 onClick (onPress) 上更改饼图的一部分的颜色。在任何时候,只有一个切片的颜色应该更改为我的突出显示颜色。

使用 events 道具,我可以在 onPress 上更改切片的颜色,但无法在使用如下代码单击另一个切片时重置它:

onPress: () => {
  return [
    {
      target: 'data',
      mutation: (props) => {return {style: {...props.style, fill: #000000}}}
    }
}

理想情况下,我想使用附加的 eventKey 道具来为其他切片返回 {style: undefined} 。但我无法确定如何获取 eventKey 道具的其他元素数组。onPress 没有任何参数说明索引或元素。有没有其他方法可以让我知道在 onPress 函数中点击了哪个项目?

我在这里先向您的帮助表示感谢!

4

2 回答 2

0

在文档中没有找到,但是在网上搜索,看到可以在 onClick/onPress 中使用 props 作为参数

于 2018-06-12T19:56:52.317 回答
0

你可以先在突变对象中检查这样的填充道具

mutation: (props) => {                                           
   const fill = props.style && props.style.fill;
   return fill === "#7CFC00" ? null : { style: { fill: "#7CFC00" } };
  }
于 2018-09-13T13:41:43.693 回答