我正在 Vue.js 中构建一个组件。我在页面上有一个输入,用户可以在其中请求一定的信用额度。目前,我正在尝试创建一个函数,在我输入时将输入量记录到控制台。(最终,我将根据用户输入显示/隐藏请求的文档。我不希望他们必须单击提交按钮。)
当我从输入字段中选择/单击时,下面的代码会记录它。这是我的component.vue:
<template>
<div class="col s12 m4">
<div class="card large">
<div class="card-content">
<span class="card-title">Credit Limit Request</span>
<form action="">
<div class="input-field">
<input v-model="creditLimit" v-on:change="logCreditLimit" id="credit-limit-input" type="text">
<label for="credit-limit-input">Credit Limit Amount</label>
</div>
</form>
<p>1. If requesting $50,000 or more, please attach Current Balance Sheet (less than 1 yr old).</p>
<p>2. If requesting $250,000 or more, also attach Current Income Statement and Latest Income Tax Return.</p>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'licenserow',
data: () => ({
creditLimit: ""
}),
methods: {
logCreditLimit: function (){
console.log(this.creditLimit)
}
}
}
</script>
如果我将 methods
更改为 computed
,它可以工作 - 但每次记录值时我都会收到一条错误 Invalid handler for event: change
。
原文由 John P 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
input
事件。change
仅在元素失去输入元素的焦点时触发。input
每次文本更改时触发。