【问题标题】:Set value to zero after null在 null 之后将值设置为零
【发布时间】:2019-10-07 13:29:13
【问题描述】:

null 之后显示零值时出现问题。

null 没有显示在输入中,但是如果我将值更改为 0,它也不会出现......也许我做错了什么?也许有人遇到了这个问题,有没有办法解决这个问题? 在第一个输入中,我预计会出现 0。

new Vue({
	el : '#app',
	data() {
		return {
			value : null,
			valueString: null,
		};
	},
	components: {
		VueAutonumeric,
	},
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://unpkg.com/autonumeric@4.5.7/dist/autoNumeric.min.js"></script>
<script src="https://unpkg.com/vue-autonumeric@1.2.6/dist/vue-autonumeric.min.js"></script>

<div class="container">
	<div id="app">
		
		<p>Value is {{value}}</p><br>
		<vue-autonumeric :options="''" v-model="value"></vue-autonumeric>
		<button @click="() => value = 0">Set Zero</button>
		
		<p>ValueStrign is {{valueString}}</p><br>
		<vue-autonumeric :options="''" v-model="valueString"></vue-autonumeric>
		<button @click="() => valueString = '0'">Set '0'</button>
		
	</div>
</div>

已通过将值设置为“0”来解决此问题...但我认为这不好。

【问题讨论】:

  • 将相关代码放在问题中,而不是某些第三方网站。
  • 也就是说,Stack Overflow 有一个“sn-p”功能,它与 codepen 基本完全相同,但直接在问题中运行。 Edit your question 并点击带有类似&lt;&gt; 的图标的按钮,您就会看到。也就是说,您所做的也是可以接受的:直接在问题中的相关代码和外部的额外链接。

标签: javascript vue.js autonumeric.js


【解决方案1】:

你可以使用后备系统

这样你可以给你的变量一个默认值:

data() {
  return {
    value : null || 0,
    valueString: null || "0",
  };
}

如果您不想更改变量的值,请在插值处进行:

<p>Value is {{value || 0}}</p>
<p>ValueStrign is {{valueString || "0"}}</p>

更多信息在这里:
JavaScript Variable fallback
How to display space instead undefined and null in vue.js template?

【讨论】:

  • 这当然是一个很好的解决方案,但有时我需要保持零值。如果将初始构造设置为null || 0,那么我不能将此值更改为 0,反之亦然,从 0 更改为 null(顺便说一句,任何其他值都有效...wtf...)
  • 而且我也不能保留值null 而是显示 0 - 用户会感到惊讶,因为他没有设置值,而是显示 0
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-29
  • 1970-01-01
相关资源
最近更新 更多