Vue.directive('input', {
bind(el, binding) {
if (binding.arg === 'number') {
// 数字输入处理
el.addEventListener('input', function(e) {
e.target.value = e.target.value.replace(/[^0-9]/g, '');
});
} else if (binding.arg === 'text') {
// 文本输入处理
}
}
});
组件里:
export default {
data() {
return {
items: [
{ id: 1, type: 'number', directive: { arg: 'number', value: '' } },
{ id: 2, type: 'text', directive: { arg: 'text', value: '' } }
]
};
}
};