[英]using reactjs how to make clickable button and open url
我想要做的是在我的代碼中我有一個表,當我在第一行 select 單選按鈕並單擊提交按鈕然后 url 鏈接打開並加載數據並顯示在控制台中。 但是當我再次 select 第二行單選按鈕並單擊提交按鈕時,url 未打開且未在控制台中顯示數據。 再次我 select 第 3 行單選按鈕然后單擊提交按鈕然后我在控制台中獲取數據並打開 url 就像這意味着第一次我點擊一行然后我點擊數據然后我 Z99938Z49 另一個數據行然后沒有得到
我嘗試做的是,但我不這樣做輸入單選按鈕類型中的問題是什么。是否有任何方法可以使 state.checked 始終設置為 true
任何人都幫我解決這個問題。
handleClick() {
const apiUrl = "http://localhost:9090/PrvFileRpt/getPrvFileData";
if (this.state.checkbox) {
fetch(apiUrl)
.then((response) => response.json())
.then((data) => {
this.setState({ data: data });
console.log("This is your data", data);
window.open("https://example.com", "_blank");
})
} else {
alert("Data not fetched!");
}
// console.log('click');
}
<tbody>
{
this.props.customerDetails.map((type,j)=>{
return(
<tr>
<td ><input type="radio" preventDefault name="select" key={j} onClick={(e) =>this.rowSelected(j)} value={this.state.checkbox}
onChange={(e) =>
this.setState({ checkbox: !this.state.checkbox })
}/></td>
<td> {type.provis_file_stamp}</td>
<td> {type.provis_file_hdrdt}</td>
<td> {type.service_code}</td>
<td>{type.provisioner_code}</td>
<td>{type.provisioner_desc}</td>
</tr>
)
})
}
</tbody>
<div className="btn-submit" >
<button className="btn btn-primary" style={{marginRight:"30px"}} type="submit" onClick={this.handleClick}>FILE</button>
</div>
您正在嘗試使用單個 state 值(布爾值)來維護多個組件。
這就是 state 在您進行后續點擊時的變化方式。
我假設您在使用第二個、第四個、第六個等單選按鈕時遇到問題。
我建議:
state = {
checkbox: {
radioButton1: false,
radioButton1: false,
radioButton1: false,
}
}
或者
state = { checkbox: [false, false, false] }
用法:
this.setState({ checkbox.radioButton1: !this.state.checkbox.radioButton1 })
this.setState({ checkbox[n]: !this.state.checkbox[n] })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.