BlazorColorPicker 是否允许在“关闭”事件中传递两个参数

问题描述 投票:0回答:1

我的要求是在 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;           
    }

如果可以重新打开并回答问题,我们将不胜感激。谢谢你。

c# blazor blazor-webassembly color-picker
1个回答
0
投票

我的要求是在 Closed 事件中发送两个参数

你不能。该事件属于该组件。这是它的定义:

[Parameter] public EventCallback<string> Closed { get; set; }

它返回一个字符串 - 与将

MyColor
设置为相同的值[这不是一个好的做法]。没有
ChangeEventArgs

查看 Github Repro 中的用法。

© www.soinside.com 2019 - 2024. All rights reserved.