События onClick, не работающие на Victory Pie React-Native
<View
style={styles.chart}}} >
<Svg height={400} width={400}>
<VictoryPie
colorScale={["#00897B", "#7fc4bd", "#b70104" ]}
innerRadius={90}
style={{
labels: {
fontSize: 18, fill: "#ffffff"
}
}}
animate={{ duration: 1500 }}
data={this.state.data}
padding={{ top: 0, bottom: 35, right:10, left:10 }}
labelRadius={100}
standalone={false}
width={400}
height={400}
events={[{
target: "data",
eventHandlers: {
onClick: () => {
return [
{
target: "data",
mutation: (props) => {
console.log('index: '+props.index);
return null;
}
}, {
target: "labels",
mutation: (props) => {
console.log('text: '+props.text);
return null;
}
}
];
}
}
}]}/>
<VictoryLabel
x={200} y={200}
textAnchor="middle"
style={{ fontSize: 23,fill: 'white'}}
text="Total Revenue"/>
</Svg>
</View>
Я использовал standalone={false} в Victory Pie, потому что он находится под svg, как предлагали многие в проблемах с диаграммой побед в github, но бесполезно, потому что он не запускает события. Его не работает как в IOS и Android. пожалуйста, помогите мне
1 ответ
Решение
Я нашел ответ заменить onClick в обработчиках событий onPressIn.
<VictoryPie
data={array}
width={350}
height={350}
innerRadius={95}
colorScale={["#00897B", "#7fc4bd", "#b70104" ]}
events={[
{
target: 'data',
eventHandlers: {
onPressIn: () => {
return [
{
target: 'data',
mutation: dataProps => {
console.log('item selected is',dataProps.index)
return {}
}
}
]
},
onPressOut: () => {
}
}
}
]}
/>