【发布时间】:2020-08-31 20:36:06
【问题描述】:
在我的反应应用程序中,我显示了选择选项。使用下面的教程,学习了 Filter Feature as Drop-down Filter Feature as Dropdown
问题 - 首次加载页面时,数据未根据选择选项显示。有什么方法可以在第一次加载页面时显示数据。
这里我附上了下面的图片和代码 - [
import React from 'react';
import ReactDOM from 'react-dom';
class App2 extends React.Component {
constructor(props) {
super(props);
this.state = {
courses: [],
course: ""
};
this.handleChangeCourse = this.handleChangeCourse.bind(this);
}
handleChangeCourse(event) {
this.setState({
course: event.target.value
});
};
getUnique(arr, comp) {
const unique = arr
.map(e => e[comp])
.map((e, i, final) => final.indexOf(e) === i && i)
.filter(e => arr[e])
.map(e => arr[e]);
return unique;
}
componentDidMount() {
const courses = require("./courses.json");
this.setState({
courses: courses
});
}
render() {
const uniqueCouse = this.getUnique(this.state.courses, "tag");
const courses = this.state.courses;
const course = this.state.course;
const filterDropdown = courses.filter(function(result) {
return result.tag === course;
});
return ( <
div >
<
label >
Select -
<
select value = {
this.state.course
}
onChange = {
this.handleChangeCourse
} > {
uniqueCouse.map(course => ( <
option key = {
course.id
}
value = {
course.tag
} > {
course.tag
} <
/option>
))
} <
/select> < /
label > <
div > {
filterDropdown.map(course => ( <
div key = {
course.id
}
style = {
{
margin: "10px"
}
} > {
course.course
} {
course.tag
} <
br / >
<
/div>
))
} <
/div> < /
div >
);
}
}
export default App2
【问题讨论】:
标签: reactjs