当前位置: 首页 > 知识库问答 >
问题:

货币输入的动态道具

冯亮
2023-03-14

您知道如何将货币从前缀'$'静态字符串更改为动态字符串,并将其作为道具传递给MaskedInput组件吗? 稍后,我将有一个更改货币按钮,我希望用户看到他选择的货币进入输入。

const defaultMaskOptions = {
prefix: '$',
suffix: '',
includeThousandsSeparator: true,
thousandsSeparatorSymbol: '',
allowDecimal: true,
}

const CurrencyInput = ({ maskOptions, ...inputProps }) => {
const currencyMask = createNumberMask({
...defaultMaskOptions,
...maskOptions,
})

return <MaskedInput mask={currencyMask} {...inputProps} />

}

共有1个答案

孙岳
2023-03-14

您需要创建前缀状态而不是常量对象。

用功能组件这样做:

const [prefix, setPrefix] = React.useState('$')

将其传递到MaskedInput中,如下所示:

return <MaskedInput mask={currencyMask} prefix={prefix} {...inputProps} />

在当前组件中的某个位置使用onClick处理程序更新前缀,如下所示:

const handleCurrencyChange = (event) => {
   setPrefix(event.target.value)
}

当在父级中更新状态时,它将在MaskedInput组件中重新呈现。

附加地

如果您需要更新MaskedInput中的prefix,您可以像任何其他道具一样传入setprefix,并使用它来更新状态,就像我上面显示的在父级中一样。

 类似资料:
  • 我试过... 但那就不允许便士条目了。 我想要增量按钮控制在英镑上升,但仍然想要输入便士的能力。 谢谢,1DMF

  • 向最终用户提供一份货币清单。他们可以在任何时候选择他们感兴趣的一个。因此,需要根据所选货币更改中使用的区域设置。这似乎不是微不足道的。 是否有一种方法可以根据在运行时动态提供的货币代码来确定区域设置?

  • 我正在尝试使用函数。 而它应该打印$符号或美元? 我使用linux主机。 谢谢

  • 这是一篇加密货币的入门文章,是写给没有接触过比特币、加密货币的小伙伴的入门指南,接下来的内容,都将与加密货币相关。 前言 “加密货币就是货币”听起来挺“白痴的”。想想背后的意思,言外之意就是“加密货币可能不是货币”,就非常值得玩味了。事实上,在我接触的很多朋友当中,一开始认为后者的更多。包括我自己,也是经过探究一段时间之后,才认定这个结论的。 惯性定律不仅存在于物质世界,也存在于人类的认知世界。人

  • 问题内容: 我想在开始时有一个文本输入字段,其中包含“ $”符号,无论对该字段进行什么编辑,以使该符号保持不变。 如果只接受数字作为输入,我会很好,但这只是一个幻想。 问题答案: 考虑使用无边界输入字段周围带有边框的跨度来模拟具有固定前缀或后缀的输入字段。这是一个基本的启动示例:

  • 我已经用ReactJS和ES6进行了几天的实验,并创建了两个组件,即

  • 我有一个用户输入框,用户可以在其中键入美元货币的金额。当用户输入小数点以表示0.24美分(例如0.24美分)时,当输入为.244或.240时,该值显示为0.20而不是.24美分。我希望用户能够只输入0.24美分,而不必输入额外的小数。

  • 问题内容: 我正在使用我给定的语言环境获取自定义货币格式。但是,这始终包含我不需要的货币符号,我只想要给定语言环境的正确货币数字格式而没有货币符号。 做一个抛出一个异常.. 问题答案: 以下作品。这有点丑陋,但可以履行合同: 您还可以从货币格式中获取模式,删除货币符号,然后从新模式中重构新格式: