vue el-input-number千分符指令

聚焦时正常显示,失焦时千分符显示

Vue.directive("thousand", {
  // 被绑定元素插入父节点时调用
  inserted: function(el) {
    // 获取input节点
    if (el.tagName.toLocaleUpperCase() !== "INPUT") {
      el = el.getElementsByTagName("input")[0];
    }
    // 千分位
    el.value = parseFloat(el.value).toLocaleString("zh", {
      minimumFractionDigits: 2,
      maximumFractionDigits: 2
    });
    // 聚焦转化为数字格式(去除千分位)
    el.onfocus = e => {
      let a = el.value.replace(/,/g, ""); //去除千分号的','
      el.value = parseFloat(a).toFixed(2);
    };
    el.onblur = e => {
      el.value = parseFloat(el.value).toLocaleString("zh", {
        minimumFractionDigits: 2,
        maximumFractionDigits: 2
      });
    };
  }
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容