首先上代碼說總結:
<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>