export default { inserted(el, bind, vnode, prevVnode) { const input = el.nodeName.toLowerCase() === 'input' ? el : el.getElementsByTagName('input')[0]; // 改变值过后,需要主动触发input时间,组件绑定的值才会改变 let triggerBySelf = false; if (input) { input.addEventListener('input', () => { if (triggerBySelf) { triggerBySelf = false; return; } const val = input.value.replace(/[^0-9]/gi, ''); if (val === '') { input.value = ''; return; } if (bind.expression) { try { const option = bind.value; if (typeof option === 'object') { console.log(option); // 改变值过后,需要主动触发input时间,组件绑定的值才会改变 const ev = new Event('input', { bubbles: true }); input.value = val; triggerBySelf = true; input.dispatchEvent(ev); } } catch (err) { input.value = val; console.error(err); } } }); } } };