我不知道它是否可能,但我有一個 switch 陳述句,允許根據值使用不同的組件。但是我可以看到我想使用這個 switch 陳述句,blazor 中是否有重用它的選項?
這是我在想的代碼
@page "/"
@foreach (var widget in _components)
{
switch (widget)
{
case WidgetA:
<WidgetA/>
break;
case WidgetB:
<WidgetB/>
break;
}
}
但是我想多次使用它,有沒有辦法將它存盤在我嘗試以下的函式中,但它沒有加載
<div class="row">
<div class="col-md-6">
@foreach (var widget in _components21)
{
switche(widget);
}
</div>
<div class="col-md-6">
@foreach (var widget in _components22)
{
switche(widget);
}
</div>
</div>
private string switche(IComponent widget)
{
string html = "";
switch (widget)
{
case WidgetA:
html = "<WidgetA/>";
break;
case <WidgetB/>:
html = "<WidgetB/>";
break;
}
return html;
}
uj5u.com熱心網友回復:
您可以創建一個包含兩個小部件的父組件,然后在父組件的屬性中,您可以擁有一個名為 WidgetType 的引數,該引數定義您實際想要使用的小部件。
父小部件:
@if(WidgetType == "A"){
<WidgetA>
}else{
<WidgetB>
}
@code{
[Parameter] public string WidgetType {get; set;}
}
然后在你的 for 回圈中使用它
@foreach (var widget in _components)
{
<ParentWidget @WidgetType=widget.WidgetType>
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/341462.html
標籤:C# asp.net asp.net核心 西装外套 blazor 服务器端
上一篇:如何修改和覆寫大檔案?
