【发布时间】:2021-05-30 23:10:30
【问题描述】:
我想做的是这样的:
<input type="text"
@if(!String.IsNullOrEmpty(Element.Placeholder))
{
placeholder="@Element.Placeholder"
}
/>
我想用 maxlength、value 等许多属性来做到这一点。 我想出的最佳解决方案是使用 MarkUpString 执行上述操作,然后进行渲染。我想知道是否有一种方法可以在 html 标记内使用 if's,这样我的代码会更干净,更容易修改。请宽容,我是编程新手,尤其是 Blazor。谢谢
*编辑:我希望这个组件也可以从另一个组件编辑。
【问题讨论】:
-
我将此作为评论提供,因为我相信肖恩的回答很好,但还有一点需要注意:在您在问题中给出的示例中,您根本不会打扰有条件的 - 并分配
placeholder="@Element.Placeholder"- 如果 Placeholder 为空,Blazor 将删除该属性。但是,不可为空的情况并非如此,所以坚持肖恩的回答:) -
这就是我最终做的。我希望这个输入可以从另一个组件编辑,我得到了@attributes 的错误。我将 int 值更改为 int?所以它们是可以为空的,并且现在似乎工作正常。
-
@DimitriosTsimaras。嗨,如果您对答案感到满意,请勾选答案。我不在乎这些要点,但它将问题标记为已回答。