#node.js #reactjs #mongodb #uitableview
#node.js #reactjs #mongodb #uitableview
Вопрос:
У меня есть таблица, которая содержит сведения об ученике. Когда я применяю метод filter, он запутывается. Я не понял, как я создаю пользовательский интерфейс для таблицы. Может кто-нибудь помочь мне разобраться в этом
const studentList = (props) => {
return (
<div>
<input
type="text"
placeholder="Search"
onChange={(event) => {
setSearchTerm(event.target.value);
}}
/>
{students amp;amp;
students
.filter((student) => {
if (searchTerm === "") {
return student;
} else if (
student.admissionNumber
.toLowerCase()
.includes(searchTerm.toLowerCase())
) {
return student;
}
})
.map((student, index) => {
return (
<div className="table-responsive table-scroll ">
<table className="table tbl table-bordered .w-auto mb-0 ">
<thead className="thead">
<tr className="" key={index}>
<th>#</th>
{/some heading stuff/}
</thead>
<tbody className="tbody">
<tr>
<th key={index}>{index 1}</th>
<td scope="row">{student.admissionNumber}</td>
<td>{student.fullName}</td>
<td>{student.email}</td>
<td>{student.faculty.name}</td>
<td>
<span className="btn-group">
{/buttons/}
</span>
</td>
</tr>
</tbody>
</table>
</div>
);
})}
</div>
);
};
Ответ №1:
Вам нужно поместить таблицу за пределы вашей .map
функции.
// Previous code
<table className="table tbl table-bordered .w-auto mb-0">
{students amp;amp;
students
.filter((student) => {
if (searchTerm === "") {
return student;
} else if (
student.admissionNumber
.toLowerCase()
.includes(searchTerm.toLowerCase())
) {
return student;
}
})
.map((student, index) => {
// Rest of code
<table/>