vue.js - 输入空给0
问题描述
希望你能帮助我。我希望如果输入仍然为空,则为其分配一个值 0。在加载我的模式时,该值为 0,如果我的输入聚焦,则删除 0。如果我转到下一个输入,我不希望任何输入保持为空
onFocus() {
this.efectivo = '';
},
onFocus1() {
this.tarjeta = '';
},
<td style="background-color: #CEECF5">
<input name="txtd" @focus="onFocus1" v-bind:min="0" v-model="tarjeta" type="number">
</td>
<td style="background-color: #CEECF5">
<input name="txte" @focus="onFocus2" v-bind:min="0" v-model="vales" type="number">
</td>
解决方案
如文档中所述,每当您想使用手表时,请考虑使用 acomputed
代替:
Vue.config.devtools = false;
Vue.config.productionTip = false;
new Vue({
el: '#app',
data: () => ({
t: 0
}),
computed: {
test: {
get() {
return Number(this.t)
},
set(val) {
this.t = Number(val) || 0
}
}
},
methods: {
onBlur() {
this.$refs.test.value = this.test
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.js"></script>
<div id="app">
<input v-model="test"
type="number"
min="0"
max="100"
placeholder="0"
ref="test"
@blur="onBlur" />
<pre v-html="{test}" />
</div>
以上遵循 Store 模式(一个事实来源),其中data
充当计算属性的本地存储。
如果您使用 Vuex,您应该(显然)test
从存储中读取值并在 setter 中提交突变。
如果你没有使用 Vuex 但仍想导出你的data
prop 以便外部组件可以对其更改做出反应,你可以使用闪亮的 new Vue.observable()
,添加在v2.6
:
Vue.config.devtools = false;
Vue.config.productionTip = false;
const store = Vue.observable({ test: 0 });
new Vue({
el: '#app',
computed: {
test: {
get() {
return Number(store.test)
},
set(val) {
store.test = Number(val) || 0
}
}
},
methods: {
onBlur() {
this.$refs.test.value = this.test
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.js"></script>
<div id="app">
<input v-model="test"
type="number"
min="0"
max="100"
placeholder="0"
ref="test"
@blur="onBlur" />
<pre v-html="{test}" />
</div>
现在您的store
const 可以存在于不同的文件中,可以导入/导出,并且您可以通过在computed
属性中使用它来监听任何其他组件中的更改。
推荐阅读
- android - Android Studio 中的产品风格
- php - PHP使用循环来避免代码重复
- c# - SQLCLR 存储过程安装失败
- python - readline 被 ANSI 转义序列混淆
- azure - Azure 函数不会早于设定值超时
- tfs - 无论我做什么,Visual Studio 都使用 8080 连接到 TFS
- magento - Magento - 在哪里添加包含文件
- azure - 如何使用 ID 参数作为容器将多个文件上传到 Azure Blob 存储?
- angular - 如何从 Hyperledger Angular 作曲家添加交易
- python - 如何将字节转换为整个十六进制字符串?