首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“筛选分页列表”不适用于vue分页节点。

“筛选分页列表”不适用于vue分页节点。
EN

Stack Overflow用户
提问于 2018-04-06 12:18:31
回答 1查看 1.2K关注 0票数 1

在我的项目中,我通过vue分页节点添加了分页,我也通过vue分页添加了过滤,它工作得很好。当我在输入字段中输入一些列表中不存在的内容时,它是空白的,这也可以,但是当我开始删除字母时,列表上什么都不会显示,而当我删除所有字母时,列表就不会出现,只会出现分页。

HTML:

代码语言:javascript
复制
<input class="form-control form-control-search m-input" autocomplete="off" type="text" v-model="search" placeholder="Search...">

<paginate class="m-list-timeline__items no-timeline" name="items" :list="fLangs" :per="10">
  <div class="m-list-timeline__item no-timeline" v-for="item in paginated('items')" v-bind:key="item.id">
    <span class="m-list-timeline__text">
      <span class="timeline-title"><span class="clr-black-light">{{ item.name }}</span></span>
      <span class="timeline-subtitle"><span class="clr-grey">{{ item.description }}</span></span>
    </span>
    <span class="m-list-timeline__time">
      <button type="button" class="btn btn-default btn-sm m-btn m-btn--icon m-btn--icon-only m-btn--pill" @click="fetchAndUpdateItem(item.id)"><i class="la la-pencil"></i></button>
      <button type="button" class="btn btn-default btn-sm m-btn m-btn--icon m-btn--icon-only m-btn--pill" @click="fetchAndRemoveItem(item.id)"><i class="la la-trash"></i></button>
    </span>
  </div>
</paginate>
<paginate-links for="langs" :hide-single-page="true"></paginate-links>

数据:

代码语言:javascript
复制
data: function () {
    return {
      search: '',
      paginate: ['langs'],
      langs: ['Item One', 'Item Two', 'Item Three', 'Item Four', 'Item Five', 'Item Six', 'Item Seven', 'Item Eight', 'Item Nine', 'Item Ten', 'Item Eleven', 'Item Twelve', 'Item Thirteen']
  }
},

计算:

代码语言:javascript
复制
computed: {
  fLangs () {
      const re = new RegExp(this.search, 'i')
      return this.langs.filter(item => item.match(re))
  }
}

搜索前的图片:

搜索和删除字母后的图片:

不知道当我删除或开始删除这些字母时,我的列表为什么会出现。有人能帮我吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-07 04:29:14

感谢我们的评论线程,我们知道paginate组件不会因为任何原因而重命名。我不知道是什么导致了这种情况,但您可以做的是将:key设置为随着搜索值的变化而发生变化的东西--最简单的方法是将其设置为this.search,这也是一个简单的原语。

因此,您可以通过设置如下所示的paginate组件来迫使:key组件重定向:

代码语言:javascript
复制
<paginate ... :list="fLangs" :key="search">

然而,一个更好的解决方案可能包括调试组件为什么不重命名--也许这是vue-paginate的一个bug,也许您没有按照它的意图使用组件(虽然这似乎不太可能,因为文档本身使用的代码几乎相同)。无论哪种方式,设置paginate组件的键至少可以让您暂时克服这个障碍。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49692660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档