我的用户有一个选择选项来更改我的联系人对象的所有者属性。我已经编写了一个put请求,该组件通过prop以及其他所有者选项继承了我的组件。
但是,当我提交更改时,实际上并未保存更改。我认为问题可能出在“提交”按钮上(该事件在我控制台注销时为“ null”)。 如果我从“ handleSellSubmit”功能中退出“联系人”,似乎还可以,我不确定在这里做错了什么
const SellContact = (props) =>{
const options = props.owners.map((owner, index) =>{
return <option key={owner.id} value={owner._links.self.href}>{owner.name}</option>
})
function handleSellSubmit(event){
event.preventDefault();
const contact = {
"id": props.contact_id,
"owner": event.target.owner.value,
}
this.handleSellclick(contact);
}
return(
<div>
<form onSubmit={handleSellSubmit}>
<select name="owner" id="owner">
<option value="" disabled selected>Select a Buyer</option>
{options}
</select>
<button type="submit">Save</button>
</form>
</div>
)
}
从props继承的handleSellClick函数是
handleSellclick(contact){
let request = new Request();
request.put(`/api/contacts/${this.props.id}`, contact).then(() =>{
window.location= '/'
});
}
作为参考...控制台注销后的“联系人”为
{id: "4", owner: "http://localhost:8080/api/owners/4"}
id: "4"
owner: "http://localhost:8080/api/owners/4"