делать функцию после обратного вызова события - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь вызвать функцию в дочернем компоненте, когда я нахожусь в функции обратного вызова.

в моем дочернем компоненте:

<div class="container">
<h1 class="text-center">DUO BUSINESS</h1><i class="fal @IcoMenu" @onclick="CollapseMenu"></i>

@code{

        [Parameter]
        public EventCallback CollapseMenu { get; set; }

public void Popover()
    {
        Console.WriteLine("test");
    }
}

В моем родительском компоненте:

     private void CollapseMenu()
    {
        if (collapseMenu == "vxs-left-side-menu")
        {
            this.collapseMenu = "vxs-left-side-menu vxs-left-side-menu-collapse";
            this.icoMenu = "fa-yin-yang";
        }
        else
        {
            this.collapseMenu = "vxs-left-side-menu";
            this.icoMenu = "fa-times";

------------HERE I WANT TO DO A FUNCTION IN CHILD COMPONENT------------
              Do popoverFunction in child component

        }
    }

1 Ответ

0 голосов
/ 02 мая 2020

ОК Я нахожу ответ:

В дочернем компоненте:

<div class="container">
    <h1 class="text-center">DUO BUSINESS</h1><i class="fal @IcoMenu" @onclick="Popover"></i>
</div>

    @code{

        [Parameter]
        public EventCallback CollapseMenu { get; set; }   


        public void Popover()
        {
            vxsMenuCollapsePopover = new string[5];
            CollapseMenu.InvokeAsync(true);
        }
    }

В родительском компоненте:

<div class="@collapseMenu">
        <NavMenu CollapseMenu="@CollapseMenu" IcoMenu="@icoMenu"/>
    </div>

 private void CollapseMenu()
    {
        if (collapseMenu == "vxs-left-side-menu")
        {
            this.collapseMenu = "vxs-left-side-menu vxs-left-side-menu-collapse";
            this.icoMenu = "fa-yin-yang";
        }
        else
        {
            this.collapseMenu = "vxs-left-side-menu";
            this.icoMenu = "fa-times";
        }
    }

Это работает для меня сейчас, если у вас есть лучше предложение скажи мне, спасибо!

...