Change caret icon in Blazor Dropdown Menu Component
16 Mar 20221 minute to read
Dropdown arrow can be customized on popup open and close. It can be handled in the OnOpen and OnClose events.
In the following example, the up arrow is updated on popup close and down arrow is updated on popup open using the OnOpen
and OnClose
events by adding and removing e-caret-up
class.
@using Syncfusion.Blazor.SplitButtons
<SfDropDownButton CssClass="@IconCss" Content="Clipboard">
<DropDownButtonEvents OnOpen="beforeOpen" OnClose="beforeClose"></DropDownButtonEvents>
<DropDownMenuItems>
<DropDownMenuItem Text="Edit"></DropDownMenuItem>
<DropDownMenuItem Text="Copy"></DropDownMenuItem>
<DropDownMenuItem Text="Paste"></DropDownMenuItem>
</DropDownMenuItems>
</SfDropDownButton>
@code {
public string IconCss = "";
private void beforeOpen(BeforeOpenCloseMenuEventArgs args)
{
this.IconCss = "e-caret-up";
this.StateHasChanged();
}
private void beforeClose(BeforeOpenCloseMenuEventArgs args)
{
this.IconCss = "";
this.StateHasChanged();
}
}
<style>
.e-caret {
transform: rotate(0deg);
transition: transform 200ms ease-in-out;
}
.e-caret-up .e-caret {
transform: rotate(180deg);
}
</style>