首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入格式(掩码),如vue指令

输入格式(掩码),如vue指令
EN

Stack Overflow用户
提问于 2020-12-11 17:13:01
回答 1查看 186关注 0票数 1

当我输入这样的输入时,我需要一种行为:

  1. 只用于输入
  2. ,输入的最后两位数由点

分隔。

例如:键盘输入"5“-显示在输入"0.05”。键盘输入"1005“-显示在输入"10.05”。

这就是我现在所拥有的:

代码语言:javascript
复制
Vue.directive('format', {
  bind(el: HTMLElement, binding: any, vnode: VNode) {
    const { modifiers } = binding;
    const targetElement = el;

    if (modifiers.cost) {
      targetElement.addEventListener('input', (e: any) => {
        e.target.value = e.target.value.replace(/[^0-9]/g, '');
      });
    }
  },
  update(el: HTMLElement, binding: any, vnode: VNode) {
    const { modifiers } = binding;
    const targetElement = el;

    if (modifiers.cost) {
      targetElement.addEventListener('input', (e: any) => {
        e.target.value = e.target.value.replace(/[^0-9]/g, '');
      });
    }
  },
});

我真的很感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-12-11 18:37:30

  1. 您可以在input标记中指定type="number"“。它只接受数字。您还可以设置接受哪些数字的限制。如:

  1. 使用Vue中的filter。在您的Vue实例

代码语言:javascript
复制
new Vue({
    ...
    filters: {
        addDot(number) {
            return number / 100
        }
    },
    //your other properties
})

然后在输入标签中:

代码语言:javascript
复制
<input type="number" min="0" :value="inputNumber | addDot" />

确保数据属性中有变量inputNumber,这基本上就是存储输入值的地方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65255735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档