import Vue from 'vue'

//input 限制输入字数
//v-toInputNum= {num:4}

Vue.directive('toInputNum', {
    // 指令的定义
    inserted: function(el, binding, vnode) {
        let dom = null
        if (el.tagName == 'INPUT') {
            dom = el
        } else {
            dom = el.querySelector('input')
        }
        dom.addEventListener('input', function () {
            if (binding.value) {
                checkValue(dom, binding.value.num)
            } else {
                checkValue(dom, 50)
            }
        })
        function checkValue(el, defu) {
            let len = el.value.length
            if (el.value && len > defu) {
                el.value = el.value.substring(0, defu-1);
                el.dispatchEvent(new Event("input"));//调用input事件使vue v-model绑定更新
            }
        }
    }
})