我有一系列文本框来获取用户的电话号码和电子邮件,我将以多种形式使用它们,但使用不同的上下文,例如客户、员工、供应商,所以我想知道是否可以创建一个模板化组件来重用代码。
<div class="form-group row">
<label for="phone1" class="col-sm-3">Phone 1: </label>
<InputText id="phone1" @bind-Value="@Client.phone1"></InputText>
</div>
如何更改上下文并调用类似的组件
<Phones TValue=Employee />
<Phones TValue=Client />
<Phones TValue=Supplier />
所有这些类都具有相同的电话和电子邮件属性。
谢谢
我有点不清楚你为什么要这么做。如果";雇员,"客户端";以及";供应商";都是从同一个基类派生的(它们应该是(,那么根本不需要在标记中声明TValue。只需要一个[Parameter] public BasePersonModel Person {get; set; }
然后在组件的标记中,您可以在Person对象上使用您想要的任何逻辑,例如:
@if (Person is Employee) { Do something }