oktatas:web:react:tablazat
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat | ||
oktatas:web:react:tablazat [2022/12/26 17:00] – [Táblázat sorának törlése dinamikusan] admin | oktatas:web:react:tablazat [2022/12/26 20:53] (aktuális) – [Szerkesztés] admin | ||
---|---|---|---|
Sor 98: | Sor 98: | ||
===== Táblázat sorának törlése dinamikusan ===== | ===== Táblázat sorának törlése dinamikusan ===== | ||
- | {{: | + | |
{{: | {{: | ||
Sor 158: | Sor 158: | ||
</ | </ | ||
+ | ===== Szerkesztés ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code javascript App.js> | ||
+ | import ' | ||
+ | |||
+ | import { useState } from ' | ||
+ | |||
+ | |||
+ | function App() { | ||
+ | const employeesOrigi = [ | ||
+ | {id: 1, name: " | ||
+ | {id: 2, name: "Erős István", | ||
+ | {id: 3, name: " | ||
+ | ] | ||
+ | |||
+ | const [employees, setEmployees] = useState(employeesOrigi); | ||
+ | const [modifyVisible, | ||
+ | | ||
+ | const [idForModify, | ||
+ | const [nameForModify, | ||
+ | const [salaryForModify, | ||
+ | const [index, setIndex] = useState(); | ||
+ | |||
+ | function removeEmployee(id) { | ||
+ | let tomb = employees.filter((item) => item.id !== id); | ||
+ | setEmployees(tomb); | ||
+ | } | ||
+ | function modifyEmployee(employee, | ||
+ | setModifyVisible(true); | ||
+ | |||
+ | setIdForModify(employee.id); | ||
+ | setNameForModify(employee.name); | ||
+ | setSalaryForModify(employee.salary); | ||
+ | setIndex(index); | ||
+ | console.log(index); | ||
+ | } | ||
+ | function onClickSaveButton() { | ||
+ | console.log(" | ||
+ | const emps = employees; | ||
+ | emps[index].name = nameForModify; | ||
+ | emps[index].salary = salaryForModify; | ||
+ | setEmployees(emps); | ||
+ | setModifyVisible(false); | ||
+ | } | ||
+ | | ||
+ | return ( | ||
+ | <div className=" | ||
+ | { | ||
+ | modifyVisible && | ||
+ | <div> | ||
+ | < | ||
+ | <div> | ||
+ | < | ||
+ | <input type=" | ||
+ | onChange={e => setIdForModify(e.target.value)} /> | ||
+ | </ | ||
+ | <div> | ||
+ | < | ||
+ | <input type=" | ||
+ | onChange={e => setNameForModify(e.target.value)} /> | ||
+ | </ | ||
+ | <div> | ||
+ | < | ||
+ | <input type=" | ||
+ | onChange={e => setSalaryForModify(e.target.value)} /> | ||
+ | </ | ||
+ | <input type=" | ||
+ | <button onClick={onClickSaveButton}> | ||
+ | </ | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <tr> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </tr> | ||
+ | </ | ||
+ | < | ||
+ | {employees.map( (employee, index) => { | ||
+ | return ( | ||
+ | <tr key={employee.id}> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <td> | ||
+ | <button onClick={ () => removeEmployee(employee.id)}> | ||
+ | </td> | ||
+ | <td> | ||
+ | <button onClick={ () => modifyEmployee(employee, | ||
+ | </td> | ||
+ | |||
+ | </tr> | ||
+ | ) | ||
+ | })} | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | ); | ||
+ | } | ||
+ | |||
+ | export default App; | ||
+ | |||
+ | </ |
oktatas/web/react/tablazat.1672070429.txt.gz · Utolsó módosítás: 2022/12/26 17:00 szerkesztette: admin