Blazor 組件庫 Blazui 開發入門


標簽: Blazor Blazui文檔 Blazui


Blazui 是什么?

Blazui 發布有段時間了,但一直沒有寫相關的文章,現在抽時間寫點。
九個月前,我想用 Blazor 開發后台管理系統,找了一圈愣是沒找着好用好看免費的 Blazor UI 框架,好幾次被勸退,不想找了,但又想用 Blazor,所以萌生了自己寫一個 Blazor 的 UI 框架的想法,這便是 Blazui。
但我並不想自己寫 CSS,抄了 Element UI 的 CSS 和 HTML 結構,程序員的美工能奈何。
沒選用 Bootstrap 的是因為它本身功能弱,如果我要搞一堆它本身沒有的功能的話意味着 CSS 我要自己寫
沒選用 Antd 是因為它沒有一個很好抄的現成的框架,很好抄的意思是指 HTML 結構清晰
目前 Blazui 只有服務端渲染,客戶端渲染待微軟出正式版

開源地址

開源地址:
https://github.com/wzxinchen/Blazui

https://gitee.com/wzxinchen/blazui

我要星星我要Fork

QQ交流群(新功能第一時間通知)

74522853

演示地址

http://blazui.com:9000

安裝 Blazui 到 Blazor 項目

使用前提

  1. 安裝 .Net Core 3.1
  2. 安裝 VS2019,更新到最新版

安裝步驟

  1. 新建 Blazor 服務器端渲染應用
    image.png-49.6kB
  2. 安裝 Nuget 包 Blazui.Component
  3. 修改 Pages 文件夾下的 _Host.cshtml 為以下內容
@page "/"
@namespace Blazui.ServerRender.Pages //這里的 Blazui.ServerRender 需要變為你實際的命名空間
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Blazui, Element的blazor版本,用 .Net 寫前端的 UI 框架,開箱即用</title>
    <base href="~/" />
    <link href="css/site.css" rel="stylesheet" />
    <link rel="stylesheet" href="/_content/Blazui.Component/css/index.css" />
    <link rel="stylesheet" href="/_content/Blazui.Component/css/fix.css" />
</head>
<body>
    <app>
        @(await Html.RenderComponentAsync<App>(RenderMode.ServerPrerendered))
    </app>

    <script src="_content/Blazui.Component/js/dom.js"></script>
    <script src="_framework/blazor.server.js"></script>
</body>
</html>

其中

  • index.css 文件是 Element 的樣式文件
  • dom.js 文件是 Blazui 自身需要的 js文件
  • fix.css 文件是 Blazui 對 Element 補充的樣式文件

在 _Imports.razor 文件中添加以下代碼

@using Blazui.Component

將 Startup.cs 的 ConfigureServices 方法替換為以下代碼

public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages();
    services.AddHttpClient();
    services.AddServerSideBlazor();
    services.AddBlazuiServicesAsync().Wait();
    services.AddSingleton<WeatherForecastService>();
}

為了使彈窗類組件生效,需要將 MainLayout.razor 的內容改為如下

@inherits LayoutComponentBase
<BPopup></BPopup>

<div class="sidebar">
    <NavMenu />
</div>

<div class="main">
    @Body
</div>

在任意一個頁面輸入以下代碼,運行可看效果

<BButton Type="@ButtonType.Primary">主要按鈕</BButton>

image.png-21.5kB

目前部分可用組件列表

個別用的少的不完善的沒有加入

組件名 調用Demo 功能支持
按鈕 http://blazui.com:9000/button [√] 常規支持
輸入框 http://blazui.com:9000/input [√] 常規支持
單選框 http://blazui.com:9000/radio [√] 常規支持
[√] 按鈕單選框
[√] 單選框組
[√] 按鈕單選框組
[√] 帶邊框的單選框
復選框 http://blazui.com:9000/checkbox [√] 常規支持
[√] 按鈕復選框
[√] 復選框組
[√] 按鈕復選框組
下拉框 http://blazui.com:9000/select [√] 常規支持
[√] 選項可禁用
切換組件 http://blazui.com:9000/switch [√] 常規支持
[√] 自定義狀態文本
菜單 http://blazui.com:9000/menu [√] 常規支持
[√] 橫向菜單
[√] 堅向菜單
[√] 二級菜單
[√] 自定義背景色
[×] 多級菜單
標簽頁 http://blazui.com:9000/tabs [√] 常規支持
[√] 自定義選項卡樣式
[√] 自定義卡片位置
[√] 可移除新增
表格 http://blazui.com:9000/table [√] 常規支持
[√] 自動生成列
[√] 斑馬條紋
[√] 分頁
[√] 自定義列內容
[√] 表頭鎖定
[√] 復選框列
[√] 表格邊框
[√] 自適應寬度高度
消息 http://blazui.com:9000/message [√] 常規支持
[√] 四種消息類型
分頁 http://blazui.com:9000/pagination [√] 常規支持
加載中 http://blazui.com:9000/loading [√] 常規支持
[√] 自定義背景顏色、圖標、文字
[√] 全屏加載
[√] 部分加載
消息彈窗 http://blazui.com:9000/messagebox [√] 常規支持
[√] Alert彈窗
[√] Confirm 彈窗
[√] 無回調
對話框 http://blazui.com:9000/dialog [√] 常規支持
[√] 嵌套彈窗
[√] 指定寬度
[√] 無回調
日期選擇器 http://blazui.com:9000/datepicker [√] 常規支持
[√] 指定日期格式
Form 表單 http://blazui.com:9000/form [√] 常規支持
[√] 三種對齊方式
[√] 單行表單
布局面板 http://blazui.com:9000/layout [√] 常規支持
[√] 嵌套布局


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM