对点击组件执行功能



我有一个按钮:

<BSButton Color="Color.Info" @onclick="LoadCategoryDetailsModal">
<i class="fal fa-plus-circle mr-1"></i>Add New Category
</BSButton>

我有一个组件:

<CategoryDetails CategoryDetailModalTitle="@categoryDetailModalTitle">
</CategoryDetails>

在组件中,我有一个切换模式(显示/隐藏(的功能;默认情况下,模式是隐藏的

@using BlazingShop.Services
@inject ICategoryService CategoryService
<BSModal @ref="CategoryDetailsModal" IsCentered="true">
<BSModalHeader OnClick="@OnToggle">@CategoryDetailModalTitle</BSModalHeader>
<BSModalBody><p>Modal body text goes here.</p></BSModalBody>
<BSModalFooter>
<BSButton Color="Color.Primary">Save Changes</BSButton>
<BSButton Color="Color.Secondary" @onclick="@OnToggle">Close</BSButton>
</BSModalFooter>
</BSModal>
@code {
BSModal CategoryDetailsModal;
[Parameter]
public string CategoryDetailModalTitle { get; set; }
void OnToggle(MouseEventArgs e)
{
CategoryDetailsModal.Toggle();
}
}

我尝试从父组件切换模态。

你能帮我吗?

当我点击这个按钮(在父组件中(时:

<BSButton Color="Color.Info" @onclick="LoadCategoryDetailsModal">
<i class="fal fa-plus-circle mr-1"></i>Add New Category
</BSButton>

我想在子组件内部实现这个功能:

CategoryDetailsModal.Toggle();

如果在父组件中有一个子组件:

<CategoryDetails CategoryDetailModalTitle="@categoryDetailModalTitle"></CategoryDetails>

还有一个按钮:

<BSButton Color="Color.Info" @onclick="LoadCategoryDetailsModal"><i class="fal fa-plus-circle mr-1"></i>Add New Category</BSButton>

然后,您可以定义一个名为LoadCategoryDetailsMode的方法,该方法在用户单击上面的按钮时执行。。。LoadCategoryDetailsMode方法,我想,应该包含应该切换Model窗口的代码。。。你可以这样做:

private void LoadCategoryDetailsModal()
{
CategoryDetailsModalRef.Toggle();
} 

CategoryDetailsModalRef是一个对象,它包含对CategoryDetails子组件。这就是将@ref属性添加到捕获对CategoryDetails组件的引用:

<CategoryDetails @ref="CategoryDetailsModalRef" CategoryDetailModalTitle="@categoryDetailModalTitle"></CategoryDetails>

在@code块中,您定义:CategoryDetails CategoryDetailsModalRef;

注意,上面的代码假设您已经在中定义了一个名为Toggle((的方法CategoryDetails组件,其作用是切换模式窗口的显示,可能是通过将布尔变量从true更改为false,反之亦然。

希望这能帮助。。。

嘿,我刚刚找到答案!在组件中添加@ref="Modal">

<CategoryDetails CategoryDetailModalTitle="@categoryDetailModalTitle" @ref="@Modal"></CategoryDetails>

在@代码部分:

private CategoryDetails Modal { get; set; }

在方法中单击按钮时:

private void LoadCategoryDetailsModal()
{
category = new Category();
categoryDetailModalTitle = "Add New Category";
Modal.Toggle();
}

切换它是我在Child组件中使用的一种方法:

public void Toggle()
{
CategoryDetailsModal.Toggle();
}

相关内容

  • 没有找到相关文章

最新更新