我有一个列出记录的表,并且具有一些更新数据的最低限度的功能.该表如下所示:
const renderTableRows = () => {
return invoices?.map((invoice, i) => (
<tr
key={i}
onClick={() => handleClick(invoice.ID)}
className={`${InvoiceStatus_Category(invoice.Status)}`}
>
<td>
<span className={`${InvoiceStatus(invoice.DaysFromDueDate)}`}>O</span>
</td>
{/* <td className="choice">{invoice.BillToName}</td>
<td className="choice">{invoice.InvoiceNumber}</td>
<td className="choice">{invoice.OFFC}</td> */}
<td>
<select
name="status"
onChange={(e) => handleStatusOnChange(e, invoice.ID)}
value={invoice.Status}
placeholder="Change Status"
>
<option value={invoiceStatus}></option>
<option value="Paid">Paid</option>
<option value="Post&Hold">Post&Hold</option>
<option value="Instructions">Instructions</option>
</select>
</td>
<td className="choice">
<input
key={i}
className="matter-input"
name="matterInput"
type="text"
onChange={onChange}
maxLength={6}
value={invoice.MatterNo}
/>
</td>
<td>
<button
className="matter-button"
onClick={() => {
buttonOnClick(invoice.ID, matter);
setMatter("");
}}
>
Add Matter
</button>
</td>
</tr>
));
};
该州正在正确填充,但我无法在输入字段中键入.能在这一栏里打字吗?OnChange事件如下:
const onChange = (e, i) => { const { name, value } = e.target; setMatter(value); };
个
我甚至试过usRef,但没有成功.
然后,onClick按钮更新API.请参阅以下内容:
const buttonOnClick = (i, mat) => {
if (mat > 0) {
axios({
method: "put",
url: "http://localhost:64198/api/UpdateMatter",
data: {
InvoiceID: i,
Matter: mat,
},
headers: { "Content-Type": "application/json" },
}).then((res) => {
dispatch(fetchAsyncInvoices());
setMatter("");
});
setMatter("");
window.location.reload(false);
}
};
I would like to type in the highlighted input boxes for new values