Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
431 views
in Technique[技术] by (71.8m points)

function - Blazor - How to pass a value held in a variable as a parameter that is evaluated during rendering and not at time of onclick

I am trying to create a list of items in the browser that can be removed from the dictionary if the associated button is clicked. with @onclick="@(() => Delete(index))", I always get the last index + 1 because its value is determined during the click event and not during rendering. Is there another way of writing this function to force the evaluation to the time of rendering?

                    <table class="table table-bordered">
                        @ResetIndex()
                        @for (int i = 0; i < numRows; i++)
                        {
                        <tr>
                            @for (int j = 0; j < numCols; j++)
                            {
                                @GetIndex()
                                @if (meData.SeeNext() == "")
                                {
                                    <td />
                                }
                                else
                                {
                                    @if (meData.IsLast())
                                    {
                                        <td class="text-success">
                                            <button class="btn btn-small button-cancel border border-success"@onclick="@(() => Delete(index))">
                                                <span class="text-success">@meData.Next()</span>
                                                <span aria-hidden="true">&times;</span>
                                            </button>
                                        </td>
                                    }
                                    else
                                    {
                                        <td class="text-primary">
                                            <button class="btn btn-small button-cancel border border-primary" @onclick="@(() => Delete(index))">
                                                <span class="text-primary">@meData.Next()</span>
                                                <span aria-hidden="true">&times;</span>
                                            </button>
                                        </td>
                                    }
                                }
                            }
                        </tr>
                        }
                    </table>
question from:https://stackoverflow.com/questions/65837691/blazor-how-to-pass-a-value-held-in-a-variable-as-a-parameter-that-is-evaluated

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...