如何使用MASA.Blazor

如何,使用,masa,blazor · 浏览次数 : 547

小编点评

**MASA.Blazor** 是一个基于 Material Design 设计和 BlazorComponent 的交互能力提供标准基础组件库。它提供以下功能: * 布局 *弹框标准 * Loading * 全局异常处理 * 预置组件 **主要功能:** * **Material Design 风格:**提供 Material Design 组件,如布局、按钮、图标等。 * **BlazorComponent 支持:**提供 BlazorComponent 功能,用于构建更复杂的 UI。 * **标准组件:**提供许多预置组件,方便快速开发。 * **缩短开发周期:**提供简化的构建过程,提高开发效率。 **用法:** 1. **安装:**使用 NuGet 包 `Masa.Blazor` 在项目中添加。 2. **引入样式:**在 `_Imports.razor` 中引入样式文件。 3. **注入服务:**在 `_Layout.razor` 中注入 `MasaBlazorService`。 4. **使用组件:**在页面上使用预置组件或创建自定义组件。 **演示:** 以下是基于 MASA.Blazor 实现的商城效果图: ``` ... ... ``` **结论:** MASA.Blazor 是一个强大的 Blazor UI组件库,提供标准组件、 Material Design 设计和简化的构建过程,可以极大地提高开发效率。

正文

MASA.Blazor 是什么?

基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库。提供如布局、弹框标准、Loading、全局异常处理等标准场景的预置组件。从更多实际场景出发,满足更多用户和场景的需求,缩短开发周期,提高开发效率,并提供一整套Web解决方案 - MASA Blazor Pro。

MASA.Blazor.Pro演示地址 这里

效果图:这是一个基于MASA.Blazor实现的商城的效果图

使用MASA.Blazor

安装MASA.BlazorNuGet

dotnet add package Masa.Blazor

引用项目资源

Blazor Server模式下在Pages/_Layout文件中引入以下资源文件:

<!-- masa blazor css style -->
<link href="_content/Masa.Blazor/css/masa-blazor.min.css" rel="stylesheet" />

<!--图标文件 导入的时候引用-->
<link href="https://cdn.masastack.com/npm/@("@mdi")/font@5.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.masastack.com/npm/materialicons/materialicons.css" rel="stylesheet">
<link href="https://cdn.masastack.com/npm/fontawesome/v5.0.13/css/all.css" rel="stylesheet">

<!--应放在文件末尾-->
<script src="_content/BlazorComponent/js/blazor-component.js"></script>

Blazor WebAssembly 模式下在wwwroot/index.html文件中引入以下资源文件:

<!-- masa blazor css style -->
<link href="_content/Masa.Blazor/css/masa-blazor.min.css" rel="stylesheet" />

<!--图标文件 导入的时候引用-->
<link href="https://cdn.masastack.com/npm/@mdi/font@5.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.masastack.com/npm/materialicons/materialicons.css" rel="stylesheet">
<link href="https://cdn.masastack.com/npm/fontawesome/v5.0.13/css/all.css" rel="stylesheet">

<!--应放在文件末尾-->
<script src="_content/BlazorComponent/js/blazor-component.js"></script>

注入MASA.Blazor相关服务

// 向容器中添加服务
builder.Services.AddMasaBlazor();

添加全局引用

修改_Imports.razor文件,添加以下内容:

@using Masa.Blazor
@using BlazorComponent

修改Shared/MainLayout.razor文件,设置MApp为根元素:

<MApp> //layout </MApp>
  • 注:如果出现组件样式丢失查看组件是否渲染在MApp内,需要渲染在MApp内才保证样式正确性

简单使用

index.razor中添加以下代码

<MCard Class="overflow-hidden">
    <MAppBar Absolute
             Color="#6A76AB"
             Dark
             ShrinkOnScroll
             Prominent
             Src="https://picsum.photos/1920/1080?random"
             FadeImgOnScroll
             ScrollTarget="#scrolling-sheet-3">
        <ImgContent>
            <MImage Gradient="to top right, rgba(100,115,201,.7), rgba(25,32,72,.7)" @attributes="@context"></MImage>
        </ImgContent>

        <ChildContent>
            <MAppBarNavIcon></MAppBarNavIcon>
            <MAppBarTitle>Title</MAppBarTitle>
            <MSpacer></MSpacer>

            <MButton Icon>
                <MIcon>mdi-magnify</MIcon>
            </MButton>
            <MButton Icon>
                <MIcon>mdi-heart</MIcon>
            </MButton>
            <MButton Icon>
                <MIcon>mdi-dots-vertical</MIcon>
            </MButton>

        </ChildContent>
        <ExtensionContent>
            <MTabs AlignWithTitle>
                <MTab>Tab 1</MTab>
                <MTab>Tab 2</MTab>
                <MTab>Tab 3</MTab>
            </MTabs>
        </ExtensionContent>
    </MAppBar>

    <MSheet Class="overflow-y-auto" MaxHeight="600" Id="scrolling-sheet-3">
        <MContainer Style="height: 1000px;"></MContainer>
    </MSheet>
</MCard>

效果展示(代码效果在Blazor Code快速预览):

结尾

MASA.Blazor是一个ui更贴近现代化的一款Blazor UI组件也提供了MASAStack这种框架级别

欢迎更多喜欢Blazor的加入MASA.Blazor

友链:

MASA.Blazor Blazor UI组件

在线编辑器 内置MASA.Blazor组件,可本地快速预览Blazor组件功能

来自token的分享

Blazor技术交流群:452761192

与如何使用MASA.Blazor相似的内容:

如何使用MASA.Blazor

MASA.Blazor 是什么? 基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库。提供如布局、弹框标准、Loading、全局异常处理等标准场景的预置组件。从更多实际场景出发,满足更多用户和场景的需求,缩短开发周期,提高开发效率,并提供一整套Web

原来.NET写的Linux桌面这么好看?

如何使用Blazor在Linux平台下运行Desktop程序 本文将讲解如何使用Blazor运行跨平台应用,应用到的技术有以下几点 Blazor Masa Blazor Photino.Blazor Ubuntu 用于验证跨平台性,并且是否提高开发效率,Blazor和Photino一块使用的技术称为

Blazor如何实现类似于微信的Tab切换?

是否有小伙伴在使用tab的时候想进行滑动切换Tab? 并且有滑动左出左进,右出右进的效果 ,本文将讲解怎么在Blazor中去通过滑动切换Tab 本文中的UI组件使用的是MASA Blazor,您也可以是其他的UI框架,这个并不影响实际的运行效果,本文案例是兼容PC和Android的,演示效果是and

如何优化线上WebAssembly

如何优化线上WebAssembly WebAssembly部署使用 HTTPS : 为什么?我可以通过一个案例查看 ,下面我们会通过masa docs站点进行测试 打开 http://docs.masastack.com/blazor/getting-started/installation 网站

如何在现有项目中使用`Masa MiniApi`?

首先我们现有创建一个空的WebApi的项目模板,这个项目模板和MasaFramework本身没有任何关联,我们本博客只是使用的MasaFramework的MiniApi的包 创建Asp.NET Core 空的项目模板 项目名称MFMiniApi 其他信息看图,取消Https配置,也可以选择, 这就是

如何使用csproj构建C#源代码组件NuGet包?

一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。 至于打包和分发C#源代码文件的做法,比较少见。 那么这种打包源代码文件的做法,有什么优点和缺点呢? 优点: 方便阅读源代码。 方便断点调试。 减少 Assembly 程序集模块加载个数。 更利于发布期间的剪裁(PublishTrimm

如何使用JavaScript实现在线Excel附件的上传与下载?

前言 在本地使用Excel时,经常会有需要在Excel中添加一些附件文件的需求,例如在Excel中附带一些Word,CAD图等等。同样的,类比到Web端,现在很多人用的在线Excel是否也可以像本地一样实现附件文件的操作呢?答案是肯定的,不过和本地不同的是,Web端不会直接打开附件,而是使用超链接单

如何使用前端表格控件实现数据更新?

前言 小编之前分享过一篇文章叫《如何使用前端表格控件实现多数据源整合?》。今天,继续为大家介绍如何使用前端表格控件来更新已连接的数据源信息。 环境准备 SpreadJS在线表格编辑器: SpreadJS 前端表格控件新版本新增了一款报表插件,该插件基于 SpreadJS 本身强大的表格能力,在 Da

如何使用Node.js、TypeScript和Express实现RESTful API服务

Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Express是一个保持最小规模的灵活的 Node.js Web应用程序开发框架,为Web和移动应用程序提供一组强大的功能。使用Node

如何使用前端表格控件实现多数据源整合?

前言 作为表格产品的典型应用场景之一,几乎所有的行业都会存在类 Excel 报表开发这样的应用场景,而在这些应用场景中,经常会遇见下面的这些痛点: 报表数据往往来自多个不同的数据源,需要报表系统能够同时连接多个数据源,并融合不同的数据格式 实际的报表中需要对数据结果进行逻辑计算,例如销售的环比和同比