项目开发中遇到了一个问题,需要在外观是filed的情况下进行@blur和@focus事件的实现,如下:

然而问题在于只有input可以使用blur和focus,如何解决这个问题呢?

我采用了field和input结合的方式。

<field for="input" label="身份证号">
     <input id="input" class="moneynum" placeholder="选填" @blur="blur()" @focus="focus()" v-model="idNumber">
</field>

input的样式需要进行改变,将边框除去:

.moneynum {
    height: 47px;
    border: none;
    outline: none;
    text-align: right;
    color: #1f1f1f;
    font-size: 16px;
    padding: 0;
    margin: 0;
    width: 97%;
  }

这样既保留了field的label属性,可以进行label的赋值显示,又同时具有了input的@blur和@focus使用权。形成了一个高级的具有input能力的field。

Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐