Blazor中如何用三元运算符将if-else语句简化为单行代码?
简化Blazor重复组件代码的方案
可以直接在组件属性中使用三元运算符简化代码,利用MudBlazor组件对null属性的处理逻辑(属性为null时会使用组件默认值,效果等同于不声明该属性),将两段代码合并为如下形式:
<MudTimelineItem Color="@(i == 1 ? Color.Primary : null)" Size="@(i == 1 ? Size.Medium : null)" Variant="Variant.Outlined"> <MudAlert Severity="Severity.Success">@matrix.UserName</MudAlert> </MudTimelineItem>
说明
- 当
i == 1时,Color设为Color.Primary、Size设为Size.Medium,和原if分支效果完全一致; - 当
i != 1时,Color和Size赋值为null,MudBlazor会自动使用组件默认值,等价于原else分支中不声明这两个属性的效果; - 这种写法既保留原有逻辑,又消除了重复代码,完全符合Blazor语法规范。
内容的提问来源于stack exchange,提问作者Venkat
相关产品推荐
相关产品推荐

