lab fix
This commit is contained in:
@@ -2,6 +2,7 @@ import { useState } from 'react'
|
|||||||
import Table from './components/Table.jsx';
|
import Table from './components/Table.jsx';
|
||||||
import buildings from './data.js';
|
import buildings from './data.js';
|
||||||
import './CSS/App.css'
|
import './CSS/App.css'
|
||||||
|
import Task from './Task.jsx'
|
||||||
function App() {
|
function App() {
|
||||||
const [count, setCount] = useState(0)
|
const [count, setCount] = useState(0)
|
||||||
|
|
||||||
@@ -9,6 +10,7 @@ function App() {
|
|||||||
<div className="App">
|
<div className="App">
|
||||||
<h3>Самые высокие здания и сооружения</h3>
|
<h3>Самые высокие здания и сооружения</h3>
|
||||||
<Table data={ buildings } amountRows="15" />
|
<Table data={ buildings } amountRows="15" />
|
||||||
|
<Task/>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,9 +33,16 @@ const Filter = (props) => {
|
|||||||
|
|
||||||
//передаем родительскому компоненту новое состояние - отфильтрованный массив
|
//передаем родительскому компоненту новое состояние - отфильтрованный массив
|
||||||
props.filtering(arr);
|
props.filtering(arr);
|
||||||
|
}
|
||||||
|
const doReset=(event)=>{
|
||||||
|
event.target.querySelectorAll("input[type=\"number\"],input[type=\"text\"]").forEach(element => {
|
||||||
|
element.value=null;
|
||||||
|
});
|
||||||
|
handleSubmit(event);
|
||||||
|
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<form onSubmit={handleSubmit} onReset={handleSubmit}>
|
<form onSubmit={handleSubmit} onReset={doReset}>
|
||||||
<p>
|
<p>
|
||||||
<label>Название:</label>
|
<label>Название:</label>
|
||||||
<input name="structure" type="text" />
|
<input name="structure" type="text" />
|
||||||
|
|||||||
@@ -20,7 +20,12 @@ const Table = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//количество страниц разбиения таблицы
|
//количество страниц разбиения таблицы
|
||||||
const n = Math.ceil(dataTable.length / props.amountRows);
|
let n = Math.ceil(dataTable.length / props.amountRows);
|
||||||
|
let rowCount = props.amountRows;
|
||||||
|
if(props.disablePagination){
|
||||||
|
n=1;
|
||||||
|
rowCount=dataTable.length;
|
||||||
|
}
|
||||||
|
|
||||||
// массив с номерами страниц
|
// массив с номерами страниц
|
||||||
const arr = Array.from({ length: n }, (v, i) => i + 1);
|
const arr = Array.from({ length: n }, (v, i) => i + 1);
|
||||||
@@ -37,7 +42,7 @@ const Table = (props) => {
|
|||||||
|
|
||||||
<table>
|
<table>
|
||||||
<TableHead head={Object.keys(props.data[0])} />
|
<TableHead head={Object.keys(props.data[0])} />
|
||||||
<TableBody body={dataTable} amountRows={props.amountRows} numPage={activePage} />
|
<TableBody body={dataTable} amountRows={rowCount} numPage={activePage} />
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
{n>1 &&
|
{n>1 &&
|
||||||
|
|||||||
Reference in New Issue
Block a user