开源 一套 Blazor Server 端精致套件
Blazor 作为一种 Web 开发的新技术已经发展有一段时间了,有些人标称 无 JS 无 TS,我觉得有点误导新人的意味,也有人文章大肆宣传 Blazor 是 JavaScript 的终结者,是为了替代 JavaScript 而生的,我认为这些言论都太激进了太片面了。我对 Blazor 的理解是:
它仅仅是为开发人员开发 Web 应用是多了一种选择,多了一条路而已,使用 Blazor 组件可以远离 Javascript 与 css,开发 Blazor 组件还是不能彻底抛弃 Javascript 与 css
本人在码云开源了一个 后台通用权限管理平台 BootstrapAdmin -,一直想把这个平台实现一个 SPA 的版本,随着 Blazor 的兴起,我个人想尝试使用 Blazor Server 端方式实现,由于一直比较喜欢 Eleme UI 的风格,于是在网上找了一下能满足需要的组件,要么是不好看,要么功能不全,比如 Table 组件展示一下数据可以,但是做到增删改查还差的很远很远。作为一个代码洁癖的人最不能接受是代码拿下来编译一下,几百个警告信息,眼泪立马流了下来。刚好 4 月份时间比较空闲,觉得利用一个月的时间自己写一套组件,由于出发点是想给 后台通用权限管理平台 BootstrapAdmin 使用,所以就叫了 BootstrapBlazor 这个名字。经过一个月时间的打磨,本套组件库已经基本完成,从简单的 button 组件到复杂的具备增删改查功能的 table 组件都可以正常使用了,虽然名字叫做 BootstrapBlazor,其实很多组件都是借鉴的 Eleme UI 跟 Ant Design 的,基本上组件都是自己手写 css 样式进行细致调整的。
Table 组件介绍
Table 组件是一个非常核心的组件,做好 Table 组件才能有核心竞争力,所以本人做了一个最强 Table 功能,一个 Table 组件完成一个单表维护,详情请看最后一个功能。
功能
- 默认样式无边框
- 斑马纹表格
- 边框表格
- 自带选择列表格
- 强类型数据绑定
- 分页表格
- 自带 Toolbar 表格
- 自带查询表格
- 固定表头表格
- 具备单表维护能力的表格
UI

通过上图可以看到 Table 头部左侧我放置了常用的操作按钮,负责 增加、删除、编辑 ;头部右侧放置了 搜索、刷新 等操作按钮;Table 内行也提供了 删除、编辑 快捷按钮;Table 底部是 分页 明细数据;组件采用前后端分离设计,开发人员只负责对数据的过滤操作即可。由于篇幅所限不做过多描述,各种功能请移步 演示地址 进行体验。
现将本套组件开源,诚心邀请各位大佬前来围观,并且帮忙点个 star
Gitee 地址为:https://gitee.com/LongbowEnterprise/BootstrapBlazor
Github 地址为:https://github.com/ArgoZhang/BootstrapBlazor
演示地址
http://blazor.sdgxgz.com/tables
非常期待 5 月 19 号的 Blazor wasm 正式版,由于之前一直不是正式版,所以本套组件也没有支持,等正式版出来后第一时间兼容 wasm 版
友情链接:
Ant.Design Blazor: http://github.com/ant-design-blazor/ant-design-blazor 演示地址: http://ant-design-blazor.gitee.io
开源 一套 Blazor Server 端精致套件的更多相关文章
- 流媒体开发之开源项目live555---更改server端的帧率大小和码率大小
-----------------------------qq:1327706646 010101010101010110010101010101010101010author:midu 010101 ...
- Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
距离上次提出 [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作带浏览器核心的客户端软件 的想法后, 差不多2个星期了. 这个玩意也做了一半, 自用是没 ...
- JS学习十四天----server端运行JS代码
server端运行JS代码 话说,当今不在client使用JS代码才是稀罕事.因为web应用的体验越来越丰富,client用JS实现的逻辑也越来越多,这造成的结果就是某些差点儿一致的逻辑须要在clie ...
- [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作客户端浏览器软件
前言 大家用过微信PC端吧? 这是用浏览器做的. 用过Visual Studio Code吧? 也是用浏览器做的. 听说, 暴雪客户端也包含浏览器核心?? 在客户端启动一个浏览器, 并不是什么难事了. ...
- Blazor Server 和 WebAssembly 应用程序入门指南
翻译自 Waqas Anwar 2021年3月12日的文章 <A Beginner's Guide To Blazor Server and WebAssembly Applications&g ...
- Neo4j图数据库管理系统开发笔记之二:管理系统Server端界面一览
最近在neo4j java api和rmi的基础上,设计了一套neo4j管理工具,分为server端和client端,中间用rmi进行通信.基本功能包括图数据库基本信息维护管理(创建.编辑.删除.统计 ...
- 在 Server 端存取 Excel 檔案的利器:NPOI Library
转处 http://msdn.microsoft.com/zh-tw/ee818993.aspx Codeplex 軟體套件(Package)資訊 套件名稱 NPOI 作者 tonyqus, huse ...
- 详解zabbix安装部署(Server端篇)
原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...
- [转载]socket下server端支持多客户端并发访问简单实现
/*Author: wainiwann *Source: 博客园 http://www.cnblogs.com/wainiwann *Remarks: 转载请说明出处!!! */ 感觉很不错,可以学 ...
随机推荐
- Array(数组)对象-->concat() 方法
1.定义和用法 concat() 方法用于连接两个或多个字符串. 语法: string.concat(string1, string2, ..., stringX) 举例: var str1='hel ...
- Delphi TMemo 可以显示、编辑多行文本
多行编辑框组件(TMemo)TMemo组件可以显示.编辑多行文本,是一个标准的Windows多行编辑组件.对一些比较多的文本内容可以利用TMemo组件来显示.编辑. 1.TMemo组件的典型用法 TM ...
- PHP安全(文件包含、变量覆盖、代码执行)
文件包含漏洞 本地文件包含 截断技巧: ../../etc/passwd%00(\x00 \0) 利用操作系统对目录最大长度的限制,可以不需要0字节而达到截断的目的.目录字符串,在windows下25 ...
- SQL Server 之T-SQL基本语句 (2)
接下来继续用上述例子来总结知识点. 用通配符进行过滤 LIKE操作符 //用来选择与条件一样或部分相似的数据 select name from person where name like 'chen ...
- Python基础之语言简介
python是什么 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,其设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特 ...
- CDNbest-访问限制
写在开始之前 有时候我们需要对网站某个目录或整站限制只对特点的ip访问 不是在ip范围之内的统统拒绝 步骤 首先我们登录,找到我们的目标站点,点击去如下图所示 找到高级设置 添加新规则,如下 这里用到 ...
- 三本毕业(非科班),四次阿里巴巴面试,终拿 offer(大厂面经)
作者:gauseen 原文:https://github.com/gauseen/blog 公众号:「学前端」,只搞技术不搞广告文,欢迎关注~ 第一次 20:00 电话一面 - 自我介绍 - 对公司工 ...
- webpack4 图片加载
图片处理(file-loader) 引用时出现的问题 在js中引入图片并添加到页面 let img = new Image(); img.src = './logo.png' document.bod ...
- CG-CTF(6)
CG-CTF https://cgctf.nuptsast.com/challenges#Web 续上~ 第三十一题:综合题2 查看本CMS说明: 分析: ①数据库表名为admin:字段名为usern ...
- Python执行Linux cmd命令,获取输出的一种方法,输出是bytes
import subprocess p = subprocess.Popen('df -lh', stdout=subprocess.PIPE, shell=True) print(p.stdout. ...