最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中el-input金額千分符自動(dòng)轉(zhuǎn)換的實(shí)現(xiàn)示例

 更新時(shí)間:2025年06月09日 08:28:57   作者:濤哥碼咖  
本文主要介紹了vue中el-input金額千分符自動(dòng)轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 說明

在平時(shí)項(xiàng)目中,對(duì)于金額處理顯示一般需要按千分符顯示,通常實(shí)現(xiàn)會(huì)申明一個(gè)formater函數(shù)來進(jìn)行轉(zhuǎn)換,但是涉及的地方比較多試,使用起來比較繁瑣,封裝一個(gè)單獨(dú)的組件比較合理

2. 實(shí)現(xiàn)組件代碼

  • ElMoneyInput.vue
<template>
  <div :style="{'background-color': disabled ? 'transparent' : '#fff'}">
    <span class="money-input" v-if="!isInput" @click="focusHanle" :disabled="disabled" :value="viewValue">{{ viewValue }}</span>
    <el-input ref="moneyInput" v-else v-bind="$attrs" :value="value" @input="handlerChange" @blur="handlerBlur" autofocus onkeypress="if(event.keyCode == 13) return false;"/>
  </div>
</template>
<script>
export default {
  name: 'ElMoneyInput',
  inheritAttrs: false,
  model: {
    prop: "value",
    event: "input"
  },
  props: {
    value: {
      type: String,
      default: ""
    },
    disabled:{
      type:Boolean,
      default:false
    },
    rules: {
      type: Object,
      default: () => {}
    }
  },
  watch: {
    value(val, old) {
      if (val !== old) {
        this.init()
      }
    }
  },
  mounted() {
    this.init()
  },
  data() {
    return {
      isEdit: true,
      isInput: false,
      viewValue: ''
    };
  },
  methods: {
    init() {
      if (!this.isInput) {
        this.viewValue = this.formatMoney(this.value || 0)
        this.$emit('input', this.blurformat(this.value || 0))
      }
    },
    focusHanle() {
      if (this.disabled) return
      this.isInput = !this.isInput
      this.$emit('input', this.blurformat(this.value || 0))
      this.$nextTick(() => {
        this.$refs.moneyInput.focus()
      })
    },
    formatMoney(cellValue, num = 2) {
      if (isNaN(cellValue)) {
        return ""
      }
      if (cellValue === 0) {
        return '0.00';
      }
      return this.$Utils.formatMoney(cellValue, num);
    },
    format(v) {
      return (`${v}`.match(/([\d\.]+)/) || "")[0];
    },
    blurformat(v) {
      return v ? Number.parseFloat(v).toFixed(2) : "";
    },
    handlerChange(v) {
      this.$emit('input', v)
    },
    handlerBlur() {
      this.isInput = false;
      this.$emit('input', this.blurformat(this.value))
      this.viewValue = this.formatMoney(this.value)
    },
    // handleFocus() {
    //   this.isInput = true;
    //   this.$emit('input', this.blurformat(this.value))
    // }
  }
};
</script>
<style lang="less">
.span-input{
  display: inline-block;
  width: 100%;
  height:28px;
}
.money-input {
  position: relative;
  font-size: 14px;
  display: inline-block;
  height: 32px;
  line-height: 32px;
  background: transparent !important;
    cursor: text !important;
    background-color: #FFF;
    background-image: none;
    border-radius: 4px;
    border: 1px solid #DCDFE6;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #606266;
    display: inline-block;
    font-size: inherit;
    outline: 0;
    padding: 0 15px;
    -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
    transition: border-color .2s cubic-bezier(.645,.045,.355,1);
    width: 100%;
  .el-input__inner {
    background: transparent !important;
    cursor: text !important;
    background-color: #FFF;
    background-image: none;
    border-radius: 4px;
    border: 1px solid #DCDFE6;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #606266;
    display: inline-block;
    font-size: inherit;
    height: 40px;
    line-height: 40px;
    outline: 0;
    padding: 0 15px;
    -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
    transition: border-color .2s cubic-bezier(.645,.045,.355,1);
    width: 100%;
  }
}
</style>

3.實(shí)現(xiàn)效果

在這里插入圖片描述

到此這篇關(guān)于vue中el-input金額千分符自動(dòng)轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)el-input金額千分符自動(dòng)轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • vue通過子組件修改父組件prop的多種實(shí)現(xiàn)方式

    vue通過子組件修改父組件prop的多種實(shí)現(xiàn)方式

    這篇文章主要介紹了vue通過子組件修改父組件prop的幾種實(shí)現(xiàn)方式,比較常用的方式是通過Prop單向傳遞的規(guī)則,需要的朋友可以參考下
    2021-09-09
  • vue與原生app的對(duì)接交互的方法(混合開發(fā))

    vue與原生app的對(duì)接交互的方法(混合開發(fā))

    vue開發(fā)h5項(xiàng)目特別是移動(dòng)端的項(xiàng)目,很多都是打包后掛載在原生APP上的,這篇文章主要介紹了vue與原生app的對(duì)接交互的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Vue組件通信$attrs、$listeners實(shí)現(xiàn)原理解析

    Vue組件通信$attrs、$listeners實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Vue組件通信$attrs、$listeners實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Vue中的v-model綁定修飾符的實(shí)現(xiàn)原理

    Vue中的v-model綁定修飾符的實(shí)現(xiàn)原理

    v-model 是Vue.js中的一個(gè)重要指令,通過它我們可以輕松實(shí)現(xiàn)數(shù)據(jù)的雙向綁定,本文介紹一些常用的 v-model 綁定修飾符,并解析它們的實(shí)現(xiàn)原理,感興趣的朋友一起看看吧
    2024-01-01
  • Nuxt.js實(shí)戰(zhàn)和配置詳解

    Nuxt.js實(shí)戰(zhàn)和配置詳解

    這篇文章主要介紹了Nuxt.js實(shí)戰(zhàn)和配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue中使用WX-JSSDK的兩種方法(推薦)

    vue中使用WX-JSSDK的兩種方法(推薦)

    這篇文章主要介紹了vue中使用WX-JSSDK的兩種方法,每種方法通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 在Vue中實(shí)現(xiàn)地圖熱點(diǎn)展示與交互的方法詳解(如熱力圖)

    在Vue中實(shí)現(xiàn)地圖熱點(diǎn)展示與交互的方法詳解(如熱力圖)

    隨著大數(shù)據(jù)和可視化技術(shù)的發(fā)展,地圖熱點(diǎn)展示越來越受到人們的關(guān)注,在Vue應(yīng)用中,我們通常需要實(shí)現(xiàn)地圖熱點(diǎn)的展示和交互,以便更好地呈現(xiàn)數(shù)據(jù)和分析結(jié)果,本文將介紹在Vue中如何進(jìn)行地圖熱點(diǎn)展示與交互,包括熱力圖、點(diǎn)聚合等
    2023-07-07
  • 詳解vue-meta如何讓你更優(yōu)雅的管理頭部標(biāo)簽

    詳解vue-meta如何讓你更優(yōu)雅的管理頭部標(biāo)簽

    這篇文章主要介紹了詳解vue-meta如何讓你更優(yōu)雅的管理頭部標(biāo)簽,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • Vue 使用typescript如何優(yōu)雅的調(diào)用swagger API

    Vue 使用typescript如何優(yōu)雅的調(diào)用swagger API

    這篇文章主要介紹了Vue 使用typescript如何優(yōu)雅的調(diào)用swagger API,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • vue在響應(yīng)頭response中獲取自定義headers操作

    vue在響應(yīng)頭response中獲取自定義headers操作

    這篇文章主要介紹了vue在響應(yīng)頭response中獲取自定義headers操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評(píng)論

凤阳县| 龙井市| 珲春市| 革吉县| 新余市| 钟山县| 镇巴县| 淅川县| 阆中市| 浠水县| 奎屯市| 涿州市| 漳浦县| 文化| 开远市| 山东省| 进贤县| 赤壁市| 镇平县| 五原县| 磐安县| 连云港市| 钟山县| 饶河县| 开封市| 仁化县| 长治县| 都安| 平昌县| 玉林市| 镇江市| 威宁| 湖州市| 河津市| 布尔津县| 洪江市| 南康市| 阿图什市| 拉萨市| 申扎县| 玉龙|