如果VueJS为0,则不显示输入值

时间:2017-08-29 10:57:49

标签: javascript vue.js vuejs2

我有一个输入字段,可以从我的数据库中预先填充,但如果值 0

,我不希望它被预先填充

例如:

<input v-model="price" type="text">

如果

  data: {
 price: 0
}

我不希望我的输入字段显示0,我知道我可以做:disabled="price == 0"之类的东西,但这会隐藏整个输入字段,我只是不想显示值,如果它的0

2 个答案:

答案 0 :(得分:3)

当价格为0时,只需将价格更改为空字符串:

created() {
    //since 0 is considered false it will put an empty string in case priceFromDB is 0
    this.price = priceFromDB || ''
  }

答案 1 :(得分:0)

据我所知,当价值为0时,你想要总是空输入,即使用户手动输入它。如果这是真的,这样的事情对你有用:

<div id="app">
    <input type="text" v-model="price" @keyup="trackChange">
</div>

JS:

const app = new Vue({

  el: '#app',

  data: {
    price: 0
  },

  methods: {
    trackChange() {
      this.price = parseInt(this.price) === 0  ? null : this.price
    }
  },

  created() {
    this.trackChange()
  }


})

演示:http://jsbin.com/sihuyotuto/edit?html,js,output