zoukankan      html  css  js  c++  java
  • uni-app 转h5 input每次输入一个字符后自动失去焦点

    背景:每扫一个二维码 会在weightList数组里面添加一个对象 ,其中对象中的一个属性值和input输入框 进行双向绑定。在输入框输入的时候,每输入一次,输入框就自动失去焦点了
    错误代码如下:
    <
    view v-for="(item, i) in weightList" :key="item"> <view class="bywin-column"> <view class="title"> <text>总数量</text> <text class="item-required">*</text> </view> <input v-model="item.num" class="bywin-input" placeholder="请输入" type="number" @input="printDigitNum($event, i)" /> <text class="bywin-input" style="flex: 0 0 10%"></text> </view> </view>


    printDigitNum(e, i) {
       const value = e && e.detail.value;
       this.$nextTick(() => {
          this.weightList = this.weightList.map((v, index) => ({
              ...v,
              num: parseInt(i) === parseInt(index) ? parseInt(value) : v.num,
          }));
       });
    },

      问题原有:

        问题是有:key="item"引起,input数据绑定后进行模型更新后,view的属性要刷新,进行渲染后就重新刷新的input。如果你是要在代码中找view,可以直接找数组中不变的属性为key值,而不要用子节点绑定的数据给父节点的属性赋值。

    解决方案:
     <view v-for="(item, i) in weightList" :key="'weightList'+i">
    
    
    
     
  • 相关阅读:
    2021上半年下午第二题
    21年软件设计师上半年下午试题一
    软考下午第三题-用例图和类图
    类图
    用例图-包含、扩展、泛化
    软考下午题二------数据库设计
    软件设计师下午题-数据流图
    IP练习题
    2020软件工程作业02
    2020软件工程作业01
  • 原文地址:https://www.cnblogs.com/susu2020/p/14001794.html
Copyright © 2011-2022 走看看