【问题标题】:how to use imask react dynamic mask?如何使用 imask 反应动态掩码?
【发布时间】:2022-03-04 12:25:46
【问题描述】:

我正在尝试根据位数使用这两个掩码。视觉上它可以工作,但是当我发送表单时,总是选择第一个掩码。如何解决这个问题?我正在使用 imask-react

const maskOptions = {
    mask: [
      {
        mask: '(00) 0000-0000',
        overwrite: true,
      },
      {
        mask: '(00) 00000-0000',
        overwrite: true,
      },
    ],
  };

【问题讨论】:

  • “总是选择第一个掩码”是什么意思?您不是直接检索IMaskInput 上的值吗?请提供minimal reproducible example
  • 我该怎么做?

标签: reactjs typescript next.js imaskjs


【解决方案1】:

试试dispatch函数

{
    mask: [{ mask: "(00) 0000-0000" }, { mask: "(00) 0 0000-0000" }],
    dispatch: (appended, dynamicMasked) => {
      const number = (dynamicMasked.value + appended).replace(/\D/g, "");

      if (number.length > 10) {
        return dynamicMasked.compiledMasks[1];
      }

      return dynamicMasked.compiledMasks[0];
    },
  }

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 2015-05-25
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 2017-06-24
    • 1970-01-01
    • 2017-11-27
    相关资源
    最近更新 更多