binding - Matblazor 组件属性:复杂的内容
问题描述
如果某个条件为假,我正在尝试制作一个禁用的按钮。对于常规按钮,这有效:
<button @disabled="!IsReady">Click me</button>
@code
{
public bool IsReady { get; set; }
}
我正在使用具有以下MatButton
版本的MatBlazor 库button
:
<MatButton Disabled="@!IsReady">Click me</MatButton>
后者不起作用:它给出以下错误:
组件属性不支持复杂内容(混合 C# 和标记)
在好的 ol' WPF 中,我们可能会在绑定中使用转换器,因此绑定的布尔值是反转的。这是 MatBlazor 的限制吗?
我看到的快速解决方案是执行以下操作:
<MatButton Disabled="@IsNotReady">Click me</MatButton>
@code
{
public bool IsReady { get; set; }
public bool IsNotReady => !IsReady;
}
有没有更好的办法?
解决方案
解决方案最终变得非常简单:您只需将 C# 代码用括号括起来:
<MatButton Disabled="@(!IsReady)">Click me</MatButton>
推荐阅读
- firebase - 无法检索 Firestore 位置和时间戳对象来验证数据表
- docker - 将 docker nginx 与现有的 apache 安装一起使用
- gnuplot - 在没有 rtics 的情况下将 gnuplot raxis 标签旋转到 45 度
- python - python中for循环的作用域是如何工作的?
- python - 在使用 python 的 request.urlretrieve 时,证书验证在 mac 系统的 pycham 上失败
- c - 如何使用 MPI 进行接力棒传递同步?
- wxwidgets - 是否可以隐藏顶级框架的标题(又名标题栏)?
- javascript - 传递条件 Mongoose NodeJS
- swiftui - swiftui 删除所有 coredata 不更新
- c# - 在 C# 中使用 YoloV5 进行对象检测