- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在学习 React.js,并且正在尝试制作一个小问答游戏。代码总体上需要进一步完善,但我目前想要实现的是,我希望我的输入字段在单击按钮后重置它的值。我尝试在 onChange
函数内使用 e.target.reset()
清除文本,该函数在状态内设置输入值,但这有点愚蠢,因为它会抛出错误开始打字后向左和向右。我还尝试用一个单独的函数做一些技巧,将 ans
设置为空字符串,然后将其用作 defaultValue/value
但这也不起作用。
我不想为此使用表格,因为每个类似的问题都与表格有关。非常感谢任何形式的帮助或提示。
import React, { useState, useEffect } from 'react'
import './Quiz.css';
import { Button } from '@material-ui/core';
function Quiz(props) {
const [question, setQuestion] = useState('')
const [category, setCategory] = useState('')
const [correctAns, setCorrectAns] = useState('')
const [ans, setAns] = useState('')
const [options, setOptions] = useState([])
let url = 'https://opentdb.com/api.php?amount=1&type=multiple'
useEffect(() => {
try {
async function fetcher() {
const quiz = await fetch(url)
const res = await quiz.json();
setCategory(res.results[0].category.replace(":", " ->"));
setQuestion(res.results[0].question.replace(/"/g, "''").replace(/'/g, "'"));
setCorrectAns(res.results[0].correct_answer);
props.setCounter(props.counter)
const incorrect = res.results[0].incorrect_answers
const correct = res.results[0].correct_answer
const concat = incorrect.concat(correct)
const shuffle = (a) => {
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
setOptions(a)
return a;
}
shuffle(concat);
}
fetcher(url);
}
catch (e) {
console.log(e)
}
}, [url, props])
const input = (e) => {
setAns(e.target.value)
}
const verify = () => {
let randomizer = Math.floor(Math.random() * 49)
if (ans === correctAns) {
props.setCounter(props.counter + 1)
url = `https://opentdb.com/api.php?amount=${randomizer}&type=multiple`
} else {
props.setCounter(props.counter * 0);
alert('You lost! All your points are now gone')
window.location.reload(false)
}
}
return (
<div className="card">
Category -> {category}<br /><br />
Question -> {question} <br /><br />
<ul>
<li>I. {options[0]}</li>
<li>II. {options[1]}</li>
<li>III. {options[2]}</li>
<li>IV. {options[3]}</li>
</ul>
Your answer: <input type="text" onChange={input} /> <br /> <br />
<Button variant="contained" color="secondary" onClick={verify} className="btn">
Answer!
</Button>
</div >
)
}
export default Quiz
最佳答案
感谢这个美丽平台上其他人的帮助,我为将来可能遇到此问题的其他人找到了答案。所以,我所做的是:
我添加了一个新状态:const [value, setValue] = useState('')
.
我在 input
中使用了它像这样的功能:
const input = (e) => {
setAns(e.target.value)
>>> setValue(e.target.value)
}
已添加 setValue('')
到 verify
的最后函数,在 if 语句之外。
已添加 value={value}
至 <input>
的属性。
关于javascript - 单击不在 React.js 中表单内部的按钮后如何重置输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63826571/
我有一张用户表 users +------+ - user_id ... ... - updated_by 据我所知,updated_by 列应该在 user_id 列上引用此表。我不确定,这
我是 SQL 新手,我有 2 个包含这些列的表: table structures__|id|name|nation_id|image| table nations______|id|nation|
我正在使用 codeigniters sql 选择来选择不在一组 id 中的用户。 $this->db->select('fbuid')->where_in('fbuid', $friends); $
找不到具体的答案所以我想问一下。简而言之,我有一个表,它根据存储在我的数据库中的数据从 API 检索信息,我想要做的就是从该表中获取某些列的总数,而不是全部列,以便我可以在其他地方使用它们网站。例如,
这是 phpMyAdmin 为我生成的 SQL 语句: SELECT * FROM `table_name` WHERE 1 可以看到 table_name 被 ` 字符包围。 为什么? 最佳答案 用
我有两个这样的表 我想在这里从 Table1 插入到 Table2。这就是我想要的。 取 MOU = 10。它在同一行中有 num1 和 hour1。我想将它插入到与 num1 同一行与 hour1
我的任务是使用 C++ 编写一个程序,以使用 Gamma 分布计算概率。如果我已经找到函数值,如何将其更改为 Gamma 分布表中的值?我不知道公式。 例如Fg(8;8),在表中为0.5470。而表中
我在查看 HTML 电子邮件时遇到问题,需要格式化 css 以与 HTML 脚本内联。 我有多个表使用的以下 td css。 td.gridtopleft { border-left: solid
我正在使用来自 pip 的最新 sqlalchemy 和最新的 pymssql 连接 mssql 服务器 8.00.2039(2005 年?)困难在于表和列名称是俄语。是否可以用 sqlalchemy
我有一个有趣的问题 - 我需要 JOIN 语句的完全相反。 我有一个名为 invoices 的表和另一个名为 payments 的表。我想按顺序检索没有任何付款的发票,但之后是有付款的行。 发票表有这
我有两个表: 主题:[id, ...] 类别:[主题.id, ...] 我想从表 #1 中选择所有主题,但不包含 #2(类别)中的条目。 任何提示表示赞赏(: 最好的问候 最佳答案 Sachin 已经
MYSQL: 我正在使用表 information_schema.tables 中的 AUTO_INCRMENT 列来获取下一个 id。 如下: SELECT AUTO_INCREMENT FROM
我是一名优秀的程序员,十分优秀!