Vue中mintui的field实现blur和focus事件

首先上代码说总结:

<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>


猜你喜欢

转载自blog.csdn.net/ywl570717586/article/details/80535236
今日推荐