【发布时间】:2022-01-07 06:43:03
【问题描述】:
对不起这个新手问题,但我对 ReactJS 和 JavaScript 很陌生,我的问题是我试图在包含列标题的表中的输入字段中提交值:练习、设置、代表和描述。我的目标是当我点击“将锻炼添加到锻炼计划”时,这些值将存储在表格中,并且我可以在下方的新行中添加一些新值,但它不起作用,因为当我点击add-button 页面刚刚刷新,值不存储在表中。
这是我的代码:
import React from 'react'
import './Trainerworkout.css'
import { useState } from 'react/cjs/react.development';
export default function Trainerworkout() {
const [workout, setWorkout] = useState([
{Exercise: "", Sets: "", Reps: "", Description: ""}
]
)
function handleChange(event) {
const value = event.target.value;
setWorkout({
...workout,
[event.target.name]: value
});
}
function handleSubmit(event) {
workout.push(`${workout.Exercise} ${workout.Sets} ${workout.Reps} ${workout.Description}`)
}
return (
<>
<h3>Add a workout program to a client</h3>
<form onSubmit={handleSubmit}>
<label>
Exercise:
<input type="text" name="Exercise" value={workout.Exercise || ''} onChange={handleChange}></input>
</label>
<br></br>
<br></br>
<label>
Set:
<input type="text" name="Sets" value={workout.Sets || ''} onChange={handleChange}></input>
</label>
<br></br>
<br></br>
<label>
Reps:
<input type="text" name="Reps" value={workout.Reps || ''} onChange={handleChange}></input>
</label>
<br></br>
<br></br>
<label>
Description:
<input type="text" name="Description" value={workout.Description || ''} onChange={handleChange}></input>
</label>
<br></br>
<br></br>
<button type="submit">Add exercise to workoutprogram</button>
</form>
<div className="table">
<table className="exerciseTable">
<thead>
<tr>
<th>Exercise</th>
<th>Set</th>
<th>Reps</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>{workout.Exercise}</td>
<td>{workout.Sets}</td>
<td>{workout.Reps}</td>
<td>{workout.Description}</td>
</tr>
</tbody>
</table>
</div>
</>
);
}
【问题讨论】:
标签: javascript reactjs html-table