我的要求是在 Closed 事件中发送两个参数。如果有人能指出我如何实现这一目标,我将不胜感激。请查找 BlazorColorPicker 文档:https://github.com/tossnet/Blazor-Color-Picker。谢谢。
请参阅下面的代码,我正在努力实现这一目标。根据我的要求,这可以将用户选择的颜色设置为颜色选择器。但是当两个参数传递给 Closed 事件时显示错误。
<button class="btn btn-primary" @onclick="OpenModal">
<div style="background-color:@item.Color" class="buttonColor"></div>
</button>
<ColorPicker Title="My Blazor ColorPicker" IsOpened="isOpened" Closed="(args => ChangeEvent(args, item))" MyColor="@item.Color">
</ColorPicker>
public void ChangeEvent(ChangeEventArgs args, ItemElement item)
{
item.Color = args.Value.ToString();
isOpened = false;
}
如果有人能指出在 Closed 事件中传递两个参数的仪式方法,我将不胜感激。谢谢你。
编辑:根据建议的答案修改代码。
我的代码与答案中建议的类似。但现在修改得一模一样。仍然显示错误。
<button class="btn btn-primary" @onclick="OpenModal">
<div style="background-color:@item.Color" class="buttonColor"></div>
</button>
<ColorPicker Title="My Blazor ColorPicker" IsOpened="isOpened" Closed="((args) => ClosedEvent(args, sitem))" MyColor="@item.Color">
</ColorPicker>
public void ChangeEvent(string args, ItemElement item)
{
item.Color = args;
isOpened = false;
}
如果可以重新打开并回答问题,我们将不胜感激。谢谢你。
我的要求是在 Closed 事件中发送两个参数
你不能。该事件属于该组件。这是它的定义:
[Parameter] public EventCallback<string> Closed { get; set; }
它返回一个字符串 - 与将
MyColor
设置为相同的值[这不是一个好的做法]。没有ChangeEventArgs
。
查看 Github Repro 中的用法。