javascript - 使用分页过滤数据
问题描述
我如何或可以为所有成员创建过滤器,因为现在我有大约 50 个成员,但由于分页,该页面仅显示其中 25 个。由于该页面仅包含 25 个成员的数据,我不确定是否可以进行过滤,因为过滤后的搜索可能在其他 25 个尚未获取的数据中。提前致谢
零件
<input type="text" class="form-control border border-dark text-center" placeholder="Find someone ...">
<div class="row justify-content-center">
<div style="background-color:rgba(0,0,0, 0.1)" class= "card col-md-2 col-4 m-3 p-0" v-for="member in members" v-bind:key="member.id">
<a :href="`#${member.alias_name}`" @click="openModal(member)">
<img class="card-img-top" :src="getImgFile()">
<div class="card-body">
<p class="card-text text-white text-center">{{member.alias_name}}</p>
</div>
</a>
</div>
方法
fetchMembers(page_url){
let vm=this;
page_url=page_url || '/api/members/fetchMembers'
fetch(page_url).then(res=>res.json()).then(res=>{
this.members = res.data;
vm.makePagination(res.meta,res.links);
})
.catch(err=>console.log(err));
},
makePagination(meta,links){
let pagination={
current_page:meta.current_page,
last_page:meta.last_page,
next_page_url:links.next,
prev_page_url:links.prev
}
this.pagination = pagination;
},
控制器
public function fetchMembers()
{
$members = Member::orderBy("id","ASC")->paginate(25);
return MemberResource::collection($members);
}
解决方案
要在您的页面中显示更多成员,只需执行此操作,请编辑此行:
public function fetchMembers()
{
$members = Member::orderBy("id","ASC")->paginate(100);//<----- 100 per page
return MemberResource::collection($members);
}
如果过滤器工作正常,您必须对所有过滤对象进行分页,我的解决方案只是解释如何将分页列表从 25 个项目扩展到 100 个。
推荐阅读
- scala - Scala、Docker - 如何为不同的环境选择配置?
- javascript - react/javascript中的解构数组
- ruby-on-rails - Rails ActiveRecord 连接表,带有 id 数组,没有 n+1 请求
- drupal - 如何检查 TWIG 中字段的值?
- java - 调用对象存储库元素的最佳方法是什么
- powerbi - Power BI 无法建立一对一关系,基数问题
- php - 获取当前行和下一行并循环比较
- python - 根据另一个矩阵中的值移动一个矩阵中的值的有效方法
- regex - RegEX - 仅匹配大写字母,直到第一个符号出现
- multithreading - C# -Task.Run() 中线程池中的索引超出范围异常