【问题标题】:Change one charter in state while typing - reacjs键入时更改状态中的一个字符 - 反应 js
【发布时间】:2022-01-21 13:08:19
【问题描述】:

我有一个状态:

const [numIndexZero, setNumIndexZero] = useState("****");

我有一个输入,我输入了 4 个数字。

我如何在输入数字时更改每个章程?

意思是,如果我输入“1”,那么状态将是“1***”。

如果我输入“12”,那么状态将是“12**”,

如果我输入“123”,那么状态将是“123*”,

如果我输入“1234”,那么状态将是“1234”。

有什么帮助吗??

【问题讨论】:

  • 欢迎来到 Stack Overflow!如果您还没有,请使用tour(您将获得徽章!)并通读help center,尤其是How do I ask a good question? 您最好的选择是进行研究,search 以获取有关 SO 的相关主题和其他地方,试一试。 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布minimal reproducible example 展示您的尝试并具体说明您遇到的问题。人们会很乐意提供帮助。
  • 我更新了问题

标签: javascript html reactjs


【解决方案1】:

您可以使用padEnd 方法来做到这一点,如下所示:

<input onChange={(e)=>setNumIndexZero(e.target.value.padEnd(4,"*"))} .../>

【讨论】:

  • 这对我有用
【解决方案2】:

使用值调用 setState 会直接更新值。例如:

setNumIndexZero('1***');
setNumIndexZero('12**');

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 2020-09-23
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 2021-06-02
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多