I’m trying to upgrade an existing app to 1.6 and having problems that my assigns are rendered properly on initial rendering but then are replace with undefined
on page reload. Seems like its related to the case statement or calling another render function. which both don’t work. I however need as my example here is really slimmed down.
My Component
defmodule App.PaginationControlsComponent do
use App, :component
def render(assigns) do
~H"""
<ul class="text-sm flex" id="pagination">
<li><div class="mx-1 h-8 w-8 text-center">Current Page <%= @page %></div></li>
<%= for i <- @data do %>
<span class="works mx-0.5 h-8 w-8 rounded bg-green-800 border text-white font-semibold flex items-center justify-center"><%= i %></span>
<%= case i do %>
<% 1 -> %>
<div class="mx-0.5 h-8 w-8 rounded bg-blue-800 border text-white font-semibold flex items-center justify-center">
<span class="undefined">99</span>
</div>
<% _ -> %>
<div class="mx-0.5 h-8 w-8 rounded bg-blue-800 border text-white font-semibold flex items-center justify-center">
<span class="undefined"><%= i %></span>
</div>
<% end %>
<%= paginate(%{page: i }) %>
<% end %>
</ul>
"""
end
def paginate(assigns) do
~H"""
<div id={"pagination_#{@page}"} >
<li >
<div class="mx-0.5 h-8 w-8 rounded bg-red-800 border text-white font-semibold flex items-center justify-center">
<%= @page %>
</div>
</li>
</div>
"""
end
end
after lv update I get undefined
values
how can I make this work.
… I recreated the post here in the phoenix forum as it went to the elixir section.