【问题标题】:Show "empty message" if filterBy returns empty如果 filterBy 返回空,则显示“空消息”
【发布时间】:2015-12-20 21:09:17
【问题描述】:

我有一个v-repeat 实例,并希望通过搜索键对其进行过滤。 如果搜索不匹配,我希望能够显示一条消息: “没有与您的查询匹配的结果” 或类似的内容。

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

所以只有当过滤器没有返回答案时才会显示消息。

想法?

【问题讨论】:

    标签: vue.js


    【解决方案1】:

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

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

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

    我在Vue.js empty filter results也回答过这类问题

    【讨论】:

    • 这是一个很好的解决方案!谢谢伙计,有趣的是,这个问题和另一个问题是同时被问到的。我搜索但没有找到。谢谢!
    • 但有一件事,当我想在整个对象中搜索时,它会变得更加混乱,然后我必须遍历每个键,这将是大量的循环...... ?
    • 大声笑,是的,我发现您的问题出现在另一个问题的下方。没问题,伙计。可以通过return thing['content'].indexOf(this.searchQuery) > -1;指定用于过滤的key
    猜你喜欢
    • 2013-10-06
    • 2017-09-28
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多