如果filterBy返回空,则显示"空消息"

blo*_*iel 0 vue.js

我有一个v-repeat实例,想要通过搜索键过滤它.如果搜索不匹配,我希望能够显示一条消息: "没有与您的查询匹配的结果"或类似的内容.

她是个小提琴:http://jsfiddle.net/yMv7y/958/

因此,仅当过滤器未返回任何答案时,才应显示该消息.

想法?

Jih*_*ada 6

您需要计算属性.基本上像:

computed: {
  filteredThings: function () {
      return this.things.filter(function(thing){
          return thing.indexOf(this.searchQuery) > -1;
      }.bind(this));
  }
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/dewey92/Lr9r2kfv/2/

我也在Vue.js空滤波器结果中回答了这类问题