stringMixin.js 1.04 KB
/** 自定义组件 共同逻辑 */
export default {
  data() {
    return {
      dataValue: '',
    }
  },
  watch: {
    value: function(val) {
      this.dataValue = val
    },
  },
  props: {
    value: {
      type: [String, Number],
      default: '',
    },
    /** 索引值 用于更新数据 */
    itemIndex: Number,
    groupIndex: Number,
    /** 包含数据源 */
    item: Object,
    disabled: {
      type: Boolean,
      default: false,
    },
  },

  mounted() {
    /** 如果有值以传入值为主 如果无值 已默认值为主 */
    this.dataValue = this.value
  },

  methods: {
    // 输入的值
    valueChange(val) {
      if (this.type == 'digit') {
        // 防止粘贴非数字
        val = val.replace(/[^\d.]/gi, '')
        this.$nextTick(() => {
          this.dataValue = val
        })
      }
      const data = {
        groupIndex: this.groupIndex, // 左侧菜单下标
        itemIndex: this.itemIndex, //右侧某一项下标
        value: val,
      }
      this.$emit('value-change', data)
    },
  },
}