我有一个 class Chart 组件用来绘制图表
现在有一个 data[]数组存储若干组数据
我做了一个下拉框,希望能在选择不同的数据来绘制图表
我现在的情况是默认使用 data[0]绘制数据,但是下拉框更新后,图表不会更新
这种希望图表能随着选择重新渲染、绘制的情况,有没有什么解决方案
这个图表初始为空,点击一次下拉框后出现,再选择下拉框就不会变了
class Main extends Component {
constructor(props) {
super(props);
this.state = {
value: 0,
chart: this.draw(0),
};
this.handleChange = this.handleChange.bind(this);
this.draw = this.draw.bind(this);
}
handleChange(event) {
this.setState({
value: event.target.value,
chart: this.draw(event.target.value),
});
}
draw(index) {
return (
<Chart data={this.props.data[index]}></Chart>
);
};
render() {
var options = <></>
for (let i = 0; i < this.props.childrenNumber; i++) {
options = <>{options}<option value={i}>{i+1}</option></>
}
return (
<div>
<select value={this.state.value} onChange={this.handleChange}>
{options}</select>
{this.state.chart}
</div>
)
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.