微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ReactJSTypeScript-动态React输入掩码

如何解决ReactJSTypeScript-动态React输入掩码

我有一个cpf / cnpj字段,我正在使用react输入掩码。 我希望此掩码变得动态,因为cpf有11位数字,而cnpj有14位数字和另一种格式,但是我找不到任何东西来阐明这一过程。

<div className="col-sm-2">
            <label>Tipo da Empresa</label>
            <SelectForm
              name="type"
              id="type"
              placeholder="Selecione"
              options={[
                { value: 0,label: 'Física' },{ value: 1,label: 'Jurídica' },]}
            />
          </div>
          <div className="col-sm-4">
            <label>CPF / CNPJ</label>
            <InputMask
              name="cpfcnpj"
              mask="999.999.999-99"
            >
              <Input
                name="cpfcnpj"
                type="input"
                className="form-control"
                id="cpfcnpj"
              />
            </InputMask>
          </div>

解决方法

尝试将蒙版置于一种状态,然后假设您想使用SelectForm组件进行更改,则可以更新该状态

import React,{ useState } from 'react'

const [activeMask,setActiveMask] = useState('cpfmask')

...
<SelectForm 
  ...
  onChange={(e) => setActiveMask(e.target.value === 0 ?: 'cpfmask': 'cnpj')}
/>

<InputMask
 mask={activeMask}
/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。