我正在创建一个从InputBase派生的自定义组件。。。
到目前为止,这是我的MyCustomInput.razor:代码
@inherits InputBase<string>
<input id="@id" @attributes="AdditionalAttributes" class="@CssClass" value="@CurrentValue"
我希望能够使用以下组件之一:
<MyCustomInput @bind-Value="user.Telephone" ...
或
<MyCustomInput @bind-Value="user.Telephone" @bind-Value:event="oninput" ...
要实现这一点,我应该将什么更改为MyCustomInput?
非常感谢你的帮助!
干杯,
Raphaël
MyCustomInput.razor
@inherits Microsoft.AspNetCore.Components.Forms.InputText
<input @attributes="@AdditionalAttributes" @bind="@CurrentValueAsString" @bind:event="oninput" />
用法:
<MyCustomInput @bind-Value="user.Telephone" class="@CssClass" id="@id" />
无需使用字符串覆盖TryParseValueFromString
。html属性id
和class
将通过飞溅的@attributes="@AdditionalAttributes
传递
您可以在其他组件中嵌套组件。关于如何做到这一点的示例,请参见此答案