首先上代碼說總結:
<mt-field label="卡號" v-model="card.cardNo" @blur.native.capture="checkCard"></mt-field>
methods: {
checkCard() {
console.log('1111');
}
}
使用@blur.native.capture=""即可實現。
另一種方法:
使用vue-directive指令實現。這種方法有個問題沒解決,不推薦使用。
<mt-field label="卡號" v-model="card.cardNo" v-mintblur></mt-field>
Vue.directive('mintblur', { // 暫不使用directive實現blur事件了,使用@blur.native.capture="cardNoBlur"即可。
inserted: function(el, pra, a) {
let oInput = el.querySelector('input');
console.log('oInput', oInput);
oInput.onfocus = function() {
// 創建focus的事件
};
oInput.onblur = function() {
console.log('blu1r');
this.$emit(pra.expression);
};
}
});
這種方法暫不支持類似於v-mintblur="myfunction"調用自定義函數處理功能:
<mt-field label="卡號" v-model="card.cardNo" v-mintblur="myfunction"></mt-field>
轉自:https://blog.csdn.net/ywl570717586/article/details/80535236
