IgbInput において、@bind-Value よりデータをバインディングすることができますが、string 型しか対応していません。ここでは double 型や int 型等をバインディングする方法を紹介します。
方法
例として double 型とバインディングする方法を紹介します。
以下のように IgbInput の Value プロパティに、バインディングしたい変数を doubleValue として ToString() メソッドで string 型に変換します。
また ValueChanging イベントで値が変更されるたびに呼び出されるメソッドを OnValueChanging として指定します。
<IgbInput ....
Value="@doubleValue.ToString()"
ValueChanging="OnValueChanging" />
C# 側で doubleValue 変数と OnValueChanging メソッドを以下のように定義します。
double doubleValue = 0;
public void OnValueChanging(string args)
{
if (double.TryParse(args, out var number))
{
doubleValue = number;
}
}
OnValueChanging メソッドは、入力フィールドの値が変更されるたびに呼び出され、受け取った文字列を double 型の値に変換して doubleValue 変数にセットします。
これにより、IgbInputコンポーネントを使用することで、string 型以外のデータ型(この場合は double 型)とのバインディングが可能になります。
実行結果
ユーザーが入力した値をバインディングと同時に画面に表示すると、こちらのような動作になります。
