|
@using Syncfusion.Blazor.Navigations
@inject IJSRuntime JsRunTime
<div class="control-section">
<div class="menu-control">
<SfMenu @ref="MenuRef" Items="@menuItems" ID="FileItem">
<MenuEvents Created="Created"></MenuEvents>
</SfMenu>
</div>
</div>
@code{
SfMenu MenuRef;
private async Task Created()
{
await JsRunTime.InvokeVoidAsync("UpdateCss", MenuRef.ID);
}
private List<MenuItem> menuItems = new List<MenuItem>{
new MenuItem
{
Text = "File",
IconCss = "em-icons e-file",
Items = new List<MenuItem>
{
new MenuItem { Text= "Open" },
new MenuItem { Text= "Save" },
new MenuItem { Separator= true },
new MenuItem { Text= "Exit" }
}
}
};
}
<style>
.e-file.caret-icon {
font-size: 9px;
padding-left: 4px;
}
@@font-face {
font-family: 'em-icons';
src: url(data:application/x-font-ttf;charset=utf-8;base64,AA =) format('truetype');
font-weight: normal;
font-style: normal;
}
.em-icons {
font-family: 'em-icons';
}
.e-file::before {
content: '\e700';
}
.menu-control {
margin: 45px auto 0;
text-align: center;
}
</style>
|
|
div class="control-section">
<div class="menu-control">
<SfMenu @ref="MenuRef" Items="@menuItems" ID="FileItem">
<MenuEvents Created="Created"></MenuEvents>
</SfMenu>
</div>
</div>
@code{
SfMenu MenuRef;
private async Task Created()
{
await JsRunTime.InvokeVoidAsync("UpdateCss");
}
private List<MenuItem> menuItems = new List<MenuItem>{
new MenuItem
{
Text = "File",
Id = "file",
Items = new List<MenuItem>
{
new MenuItem { Text= "Open" },
new MenuItem { Text= "Save" },
new MenuItem { Separator= true },
new MenuItem { Text= "Exit" }
}
}
};
}
<style>
#file .caret-icon {
font-size: 9px;
padding-left: 4px;
}
</style>
<script>
function UpdateCss() {
var element = document.getElementById("file").getElementsByClassName("e-caret")[0];
element.className = "";
element.classList.add("em-icons", "e-file", "caret-icon");
}
</script> |