图表 js:在圆环图切片上添加 onclick 事件在 react-chartjs-2 中不起作用
Chart js :Adding onclick event on slice of doughnut chart is not working in react-chartjs-2
我试图在一片甜甜圈上添加 onclick 功能,它在 console.log 上工作正常,但如果调用检查功能则无法工作。它的支票未定义。
class DoughnutChart extends React.Component {
constructor(props) {
super(props);
this.state = {};
}
check = (x, b) => {
console.log("test check");
};
render() {
return (
<div>
<Doughnut
data={data}
height={1}
width={1}
options={{
responsive: true,
maintainAspectRatio: true,
cutoutPercentage: 85,
tooltips: false,
onClick: function (evt, item) {
check("source", data.datasets[0].data[item[0]._index]);
console.log("test");
},
}}
/>
</div>
);
}
}
export default DoughnutChart;
您无权访问函数中的 'this',因此您可以绑定它或使用如下所示的箭头函数
onClick: (evt, item) =>{
this.check("source", this.state.data.datasets[0].data[item[0]._index]);
console.log("test");
},
此外,您还必须调用 this.check 并使用 this.state.data
我试图在一片甜甜圈上添加 onclick 功能,它在 console.log 上工作正常,但如果调用检查功能则无法工作。它的支票未定义。
class DoughnutChart extends React.Component {
constructor(props) {
super(props);
this.state = {};
}
check = (x, b) => {
console.log("test check");
};
render() {
return (
<div>
<Doughnut
data={data}
height={1}
width={1}
options={{
responsive: true,
maintainAspectRatio: true,
cutoutPercentage: 85,
tooltips: false,
onClick: function (evt, item) {
check("source", data.datasets[0].data[item[0]._index]);
console.log("test");
},
}}
/>
</div>
);
}
}
export default DoughnutChart;
您无权访问函数中的 'this',因此您可以绑定它或使用如下所示的箭头函数
onClick: (evt, item) =>{
this.check("source", this.state.data.datasets[0].data[item[0]._index]);
console.log("test");
},
此外,您还必须调用 this.check 并使用 this.state.data