Javascript 根据从承诺中解析的数据,更改/控制复选框选中状态
我想要的是,当我单击复选框时,承诺中的解析数据为false。我希望复选框保持其选中状态为未选中。如果数据为真,则复选框检查状态为选中 我已经为此创建了一个简单的应用程序。我正在为复选框使用react和mdc组件。没有错误,我只是想控制复选框的状态 为了让你更方便,我在这里发布代码,但如果你想玩它,我建议访问链接Javascript 根据从承诺中解析的数据,更改/控制复选框选中状态,javascript,reactjs,checkbox,promise,Javascript,Reactjs,Checkbox,Promise,我想要的是,当我单击复选框时,承诺中的解析数据为false。我希望复选框保持其选中状态为未选中。如果数据为真,则复选框检查状态为选中 我已经为此创建了一个简单的应用程序。我正在为复选框使用react和mdc组件。没有错误,我只是想控制复选框的状态 为了让你更方便,我在这里发布代码,但如果你想玩它,我建议访问链接 import React, { useState } from "react"; import "./styles.css"; import Ch
import React, { useState } from "react";
import "./styles.css";
import Checkbox from "@material/react-checkbox";
export default function App() {
const [verified, setVerified] = useState(false);
const promisify = () =>
new Promise((resolve, reject) => {
const data = false;
resolve(data);
});
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<div className="simple-demo">
<Checkbox
checked={verified}
onChange={(e) => {
promisify().then((data) => {
console.log(data);
if (data) {
setVerified(e.target.checked);
}
});
}}
/>
<label>Verify</label>
</div>
</div>
);
}
import React,{useState}来自“React”;
导入“/styles.css”;
从“@material/react Checkbox”导入复选框;
导出默认函数App(){
const[verified,setVerified]=使用状态(false);
const promisify=()=>
新承诺((解决、拒绝)=>{
常数数据=假;
解析(数据);
});
返回(
你好,代码沙盒
开始编辑,看看神奇的发生!
{
promisify()。然后((数据)=>{
控制台日志(数据);
如果(数据){
设置已验证(例如,目标已检查);
}
});
}}
/>
验证
);
}
有一个简单的错误,
您已在值中设置了已验证,但它必须在“已检查”属性中
像这样
import React, { useState } from "react";
import "./styles.css";
import Checkbox from "@material/react-checkbox";
export default function App() {
const [verified, setVerified] = useState(false);
const promisify = () =>
new Promise((resolve, reject) => {
const data = false;
resolve(data);
});
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<div className="simple-demo">
<Checkbox
checked={verified}
onChange={(e) => {
setVerified(e.target.checked)
promisify().then((data) => {
if (data) {
//Do your action here
} else {
setVerified(false);
}
console.log(verified)
});
}}
/>
<label>Verify</label>
</div>
</div>
);
}
import React,{useState}来自“React”;
导入“/styles.css”;
从“@material/react Checkbox”导入复选框;
导出默认函数App(){
const[verified,setVerified]=使用状态(false);
const promisify=()=>
新承诺((解决、拒绝)=>{
常数数据=假;
解析(数据);
});
返回(
你好,代码沙盒
开始编辑,看看神奇的发生!
{
设置已验证(例如,目标已检查)
promisify()。然后((数据)=>{
如果(数据){
//你在这里做什么
}否则{
setVerified(假);
}
console.log(已验证)
});
}}
/>
验证
);
}
您尚未定义所示代码的具体问题。发生了什么,没有发生什么,应该以不同的方式发生什么,错误等等我已经清除了,我想根据从承诺书中解析的数据控制复选框的选中状态这很难解释,我不是母语人士,但我尝试了。等待second@charlietfl兄弟我又加了一些注释。如果你不明白我的意思,请告诉我,我将在中插入演示视频,并在中使用这两种视频。您只使用了setVerified(false)
。使用这两种方法似乎都有效}否则{setVerified(true);setVerified(false);}
嗨,罗米克,我试过了,但还是不起作用。我认为这是复选框的性质?或者我在发送框中更改了一些内容,您可以进行测试。谢谢。你用叉子叉起沙箱了吗?你能给我一个链接吗