[英]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.