Blazor能否实现类似React JSX的单行条件渲染?
解决方案
Blazor 原生支持和 React JSX 逻辑一致的单行条件渲染写法,你可以直接用三元表达式实现需求,示例代码如下:
<div> You logged in AS: @(_loading ? <Spin /> : @_userName) </div>
注意事项
- 整个三元表达式需要用
@()包裹,这样Razor引擎才能正确识别内联的混合逻辑与渲染内容 - 该写法在.NET 6及以上版本原生支持,两个分支的返回值会被自动识别为兼容的
RenderFragment类型,无需手动做类型转换 - 如果是仅满足条件才渲染对应内容的场景,还可以使用更简洁的短路写法:
@(_showTip && <div class="tip">提示内容</div>)
内容的提问来源于stack exchange,提问作者Anton Komyshan
相关产品推荐
相关产品推荐

