我需要在HTML页面中列出许多项目。理由中一次显示的项目太多。我见过与Ecto一起使用的工具来处理EEX模板中的寻呼机。但是,在我的控制器中,我从外部数据源中提取此数据,并且无法使用Ecto进行查询。下面的模板文件inventory.html.eex。
<div class="section-content">
<div class="section-row">
<div class="section-cell">
<h3> Current Inventory: </h3>
<table class="table">
<thead>
<tr>
<th>Product Title</th>
<th>Product ID</th>
</tr>
</thead>
<tbody>
<%= for product <- @products do %>
<tr>
<td><%= product["title"] %></td>
<td><%= product["id"]%></td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
</div>
处理这些数据的分页有什么好的解决方案?
答案 0 :(得分:4)
您可以在模板中使用scriviner_html库作为分页助手。
这只需要从控制器填充%Scriviner.Page{}
结构并将其传递给render
。
Page结构非常简单,因此您可以从外部源列表或API响应中填充它:
defstruct [:entries, :page_number, :page_size, :total_entries, :total_pages]