<!-- 金额输入框 -->
<template>
  <el-input v-bind="$attrs" v-on="currentListeners" ref="refInput"></el-input>
</template>
<script>
export default {
  computed: {
    currentListeners () {
      let _this = this
      return Object.assign({}, this.$listeners, {
        input: function (val) {
          _this.setVal(val)
        }
      })
    }
  },
  methods: {
    // 使input获取焦点
    focus () {
      this.$refs.refInput.focus()
    },
    // 使input失去焦点
    blur () {
      this.$refs.refInput.blur()
    },
    // 选中input中的文字
    select () {
      this.$refs.refInput.select()
    },
    // 过滤
    setVal (val) {
      val = val.replace(/[^\u4e00-\u9fa5a-zA-Z0-9\w]/g, '').trim()
      this.$emit('input', val)
    }
  }
}
</script>
