如何动态设置 InputNumber 组件的 TValue 属性
Posted
技术标签:
【中文标题】如何动态设置 InputNumber 组件的 TValue 属性【英文标题】:How to dynamically set TValue property of InputNumber component 【发布时间】:2022-01-13 14:41:51 【问题描述】:我们可以在 Blazor 平台中借助 typeparam 分配和重用 TValue。但是,我们如何为 Blazor InputNumber 组件动态分配 TValue?
代码示例:
[index.razor]
<EditForm>
@*The below definiton is working*@
<InputNumber TValue="int?" @bind-Value="@DynamicModelInstance.ValueAsT"></InputNumber>
@*The below definiton is not working*@
<InputNumber TValue="DynamicModelInstance.Type" @bind-Value="@DynamicModelInstance.ValueAsT"></InputNumber>
</EditForm>
@code
public DynamicModel<int> DynamicModelInstance get; set;
protected override void OnInitialized()
DynamicModelInstance = new DynamicModel<int>();
DynamicModelInstance.ValueAsT = 500;
[DynamicModel.cs]
namespace CustomComponent.Pages
public class DynamicModel<T> where T : struct
public System.Type Type get; set;
public bool Enabled get; set;
public DynamicModel()
this.Type = typeof(T);
private T _value;
public T ValueAsT
get return (T)_value;
set this._value = value;
如何实现这个要求?
【问题讨论】:
【参考方案1】:问题在于您的 EditForm:
EditForm 需要 Model 参数或 EditContext 参数
<EditForm Model="dynamicModelInstance">
<InputNumber @bind-Value="@dynamicModelInstance!.Value" />
</EditForm>
@code
public DynamicModel<int>? dynamicModelInstance;
protected override void OnInitialized()
dynamicModelInstance = new()
Value = 500
;
public class DynamicModel<T> where T : struct
public T Value get; set;
【讨论】:
即使我们指定了 Modal 或 EditContext,我也无法动态指定 TValue。它显示以下错误。找不到类型或命名空间名称“type/namespace”(您是否缺少 using 指令或程序集引用?)以上是关于如何动态设置 InputNumber 组件的 TValue 属性的主要内容,如果未能解决你的问题,请参考以下文章
React开发(265):ant design InputNumber
如何在 PlaybackTransportControlGlue android TV 上动态更改字幕
react(88)--ant design控制inputNumber设置正整数