javascript - 如何获取按键的当前值

标签 javascript vue.js

我正在使用 vue.js 并在表内创建一个表,我有一个输入字段作为 quantity 因此,当我输入第一个单词时,它会在控制台上打印 empty

假设我输入 3 然后显示为空,如果我输入 44 然后它打印 4,我正在使用 v-on:keypress 捕获事件我不知道这里出了什么问题

var app = new Vue({
  el: "#app",
  data: {

    invoice_products: [{
      product_no: '',
      product_name: '',
      product_price: '',
      product_qty: '',
      line_total: 0
    }]
  },

  methods: {
    calculateLineTotal(invoice_product) {
      console.log(invoice_product.product_qty)
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.6/vue.js"></script>
<div id="app">

  <table>
    <thead>
      <tr>

        <th>Quantity</th>
        
      </tr>
    </thead>
    <tbody>
      <tr v-for="(invoice_product, k) in invoice_products" :key="k">

        <td>
          <input class="form-control text-right" type="number" min="0" step=".01" v-model="invoice_product.product_qty" v-on:keypress="calculateLineTotal(invoice_product)" />
        </td>

      </tr>
    </tbody>
  </table>
</div>

最佳答案

您应该使用 keyup 事件处理程序。

KeyPressKeyUpKeyDown 分别类似于:ClickMouseUp、MouseDown

  1. 向下首先发生
  2. 按下 第二次发生(输入文本时)
  3. Up 最后发生(当文本输入完成时)。

var app = new Vue({
  el: "#app",
  data: {

    invoice_products: [{
      product_no: '',
      product_name: '',
      product_price: '',
      product_qty: '',
      line_total: 0
    }]
  },

  methods: {
    calculateLineTotal(invoice_product) {
      console.log(invoice_product.product_qty)
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.6/vue.js"></script>
<div id="app">

  <table>
    <thead>
      <tr>

        <th>Quantity</th>
        
      </tr>
    </thead>
    <tbody>
      <tr v-for="(invoice_product, k) in invoice_products" :key="k">

        <td>
          <input class="form-control text-right" type="number" min="0" step=".01" v-model="invoice_product.product_qty" v-on:keyup="calculateLineTotal(invoice_product)" />
        </td>

      </tr>
    </tbody>
  </table>
</div>

关于javascript - 如何获取按键的当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59191213/

相关文章:

javascript - 如何为 Node.js 配置 AWS Elastic Load Balancer 运行状况检查

javascript - 如何读写这种位图格式

javascript - 同时提交和关闭模态

javascript - 在自定义函数指令中添加带参数的内联函数

javascript - Laravel + VueJS : Prevent access to pages without permission

javascript - 如何使用 CoffeeScript 中的 vue?

javascript - 为什么 Vue 子组件中 this.$refs 未定义?

php - 使用 PHP 流式传输远程服务器的 MP3

javascript - 将 VueJs 模态组件添加到 Laravel 模板

javascript - 堆叠的 div 等于一个高度