Created
December 18, 2019 11:35
-
-
Save jsakamoto/b2affa91d6a12d27a4a4eee2243fab84 to your computer and use it in GitHub Desktop.
Blazor で、行が動的に増減する入力フォームを実装してみる
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div> | |
@foreach (var person in this.People) | |
{ | |
<div @key="person.Id"> | |
<input type="text" placeholder="名前" @bind="person.Name" /> | |
<input type="number" placeholder="年齢" @bind="person.Age" /> | |
<button @onclick="()=>OnClickRemove(person)">削除</button> | |
</div> | |
} | |
</div> | |
<div> | |
<button @onclick="OnClickAddPerson">人物を追加</button> | |
<button @onclick="OnClickDump">開発者コンソールに表示</button> | |
</div> | |
@code | |
{ | |
// このデモのために用意した、"人物クラス" | |
private class Person | |
{ | |
public Guid Id; // 固有の ID | |
public string Name; // 名前 | |
public int Age; // 年齢 | |
} | |
// 人物 x n人のリスト | |
private List<Person> People = new List<Person>(); | |
// [人物を追加] ボタンが押されときに呼び出されます。 | |
private void OnClickAddPerson() | |
{ | |
this.People.Add(new Person { Id = Guid.NewGuid() }); | |
} | |
// [削除] ボタンが押されときに呼び出されます。 | |
private void OnClickRemove(Person person) | |
{ | |
this.People.Remove(person); | |
} | |
// [開発者コンソールに表示] ボタンが押されたときに呼び出されます。 | |
private void OnClickDump() | |
{ | |
foreach (var person in this.People) | |
{ | |
Console.WriteLine($"{person.Id} | {person.Name} | {person.Age}"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
テスト
絵テスト