ant design vue 中数字输入框a-input-number限制只能输入大于等于0的整数,且有最大输入值限制

1.场景:只能输入大于等于0的数字,不能输入-+.三种字符,且有最大输入数值(9999)限制。

2.代码实现:

参数注解
min:最小值
max:最大值
precision: 数值精度(去掉以 0 开头的数字,如:输入 01,失焦后会去掉 0)
formatter:对输入值格式化
parser:与 formatter 结合使用,指定从 formatter 里转换回数字的方式

<a-form-item label="排序" name="displayOrder">
    <a-input-number
      v-model:value="formState.displayOrder"
      :min="0"
      :max="9999"
      :precision="0"
      :formatter="transformNum"
      :parser="transformNum"
    />
</a-form-item>

// ant design数字输入框限制只能输入大于等于零的整数
const transformNum = value => {
  let v = null
  switch (typeof value) {
    case 'string':
      v = isNaN(+value) ? 0 : value.replace(/\./g, '')
      break
    case 'number':
      v = isNaN(value) ? 0 : String(value).replace(/\./g, '')
      break
    default:
      v = 0
  }
  return v
}

3.效果图:

ant design vue 中数字输入框a-input-number限制只能输入大于等于0的整数,且有最大输入值限制_第1张图片

你可能感兴趣的:(ant-design-vue,vue.js,javascript)