如何在vuetify文本字段中使用掩码?

时间:2017-12-17 17:27:03

标签: vue.js vuetify.js

我尝试使用text-field组件的mask属性,如下例所示。在视图中,它就像一个魅力,但是,当发布表单时,掩码格式不保留值。

例如,当我输入" 000.000.000-00"时,表单发布的值为" 00000000000"。如何保留格式值?

$(".submit").click(function(event){   

  $(".form").submit(req.body); 
  $(this).attr("class", "submit btn btn-success"); 
  event.preventDefault();                                                                                           
});

2 个答案:

答案 0 :(得分:19)

您可以使用return-masked-value prop

<v-text-field
    :value="currentValue" 
    return-masked-value
    mask="###.###.###-##"
    @input="handleInput"
></v-text-field>

请注意,目前在v0.17 there is a bug中,返回未屏蔽的初始值。

答案 1 :(得分:6)

使用Vuetify 2,他们删除了mask属性。但是,有第三方解决方案。您可以通过v-mask使用轻量级软件包probil

安装v-mask软件包(未包装的大小为71.7 kB)

npm install v-mask

在您的 main.js 中,导入该软件包并将其添加为指令:

import { VueMaskDirective } from 'v-mask'
Vue.directive('mask', VueMaskDirective);

然后在组件中使用v-mask添加掩码:

<v-text-field
  v-mask="'###.###.###-##'"
  :value="currentValue" 
  @input="handleInput"
/>