<input v-model="username" v-limit-num="20" placeholder=请输入用户名"" />
/**
* 此处 mounted + input 事件
* 原因:用updated 生命周期,不能及时更新value
*/
App.directive('limit-num', {
mounted(el, { value = 100 }, vnode) {
el.addEventListener('input', function () {
if (el.value.length > value) {
el.value = el.value.substring(0, value);
}
});
}
});