Blazor和iccommand,它们的替代方案是什么?为什么人们不需要它们?



在Xamarin或Maui中执行xaml时,有一个有用的事情是使用iccommand接口;使用communitytools . mvvm .

ICommand 可以执行使按下一个按钮就能很容易地编码。

在Blazor中你可以尝试使用ViewModels同样,作为服务,我不只是在谈论列表中的项目从模型解耦并有更多的道具,如isSelected.

但这并不是最好的事情,而且你没有ICommand

当你管理按钮时,你会怎么做?

<button @onclick="OnButtonClicked" disabled="@(canButtonExecute || isButtonExecuting)>
click me
</button>

你仍然需要做两个属性,和一个方法来正确处理一个按钮点击或这些的一些组合,但ICommand不是真正的东西在Blazor,也不是微软建议Mvvm这个框架。

有一个人计划将CommunityToolkit移植到Blazor,但这并不像人们乞求它。

那么你们如何解决这个问题呢?还没有提到html中的disabled属性可以直接通过开发人员控制台删除。此外,它可以为任何其他情况下,ICommand是有用的,按钮不只是一种方式来提交表单。(我知道与EditForm组件,你可以使用模型的一些属性,以确保一个按钮不点击两次,但仍然!)

你甚至可以在html组件中使用自定义指令来避免自定义按钮元素(想象一下为每个html元素做一个blazor组件包装器)?

@onclick但像@command="MyCommand"?

Blazorise支持iccommand按钮https://blazorise.com/docs/components/button

最新更新