Blazor 组件库 BootstrapBlazor 中Button组件介绍
组件介绍
按钮组件,应该是最基础的组件之一了。感觉没什么可介绍的,但是BootstrapBlazor的按钮,还是有很多不错的特性。
首先是最基础的,boostrap5的按钮样式:

代码如下:
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Primary">主要按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Secondary">次要按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Success">成功按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Danger">危险按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Warning">警告按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Info">信息按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Dark">黑暗按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Light">高亮按钮</Button></div>
<div class="col-6 col-sm-4 col-md-3 col-lg-auto"><Button OnClick="@ButtonClick" Color="Color.Link">链接按钮</Button></div>
组件的其他属性
Color:组件的颜色,可选值有 None / Active / Primary / Secondary / Success / Danger / Warning / Info / Light / Dark / Link。
Icon:组件的图标,可以直接写FontAwasome4.7的图标类,如Icon="fa fa-home"。
LoadingIcon:异步加载时的图标,默认值为 fa fa-fw fa-spin fa-spinner,此图标配合IsAsync属性使用。
Text:按钮显示的文字。
Size:按钮的尺寸,可选值为 None / ExtraSmall / Small / Medium / Large / ExtraLarge。
Class:组件的css class类。
IsBlock:是否填充,如果为true,则按钮尝试填充所有的可用空间。
IsDisabled:是否禁用按钮。
IsOutline:是否使用边框的模式,如果使用,则按钮仅有边框填充颜色。
IsAsync:是否为异步按钮,如果为异步按钮,点击按钮后按钮会自动禁用,并显示LoadingIcon的按钮动画。当按钮点击事件执行结束后自动恢复可用状态。
一个例子:
<Button Text="异步请求" IsAsync="true" Icon="fa fa-fw fa-fa" OnClick="@ClickAsyncButton" />
private static Task ClickAsyncButton() => Task.Delay(5000);
ChildContent:内容RenderFragment。
ButtonStyle:按钮的风格,可选值有None / Circle / Round,默认为None。
ButtonType:按钮的类型,可选值有Button / Submit / Reset,默认为Button。
组件的事件
OnClick:点击事件,类型为EventCallback<MouseEventArgs>。
OnClickWithoutRender:不刷新组件的点击事件,在点击事件不涉及页面更新时使用,可以提高性能。
组件的方法
SetDisable:设置按钮是否可用。由于使用 IsDisabled 属性时,需要显式手动调用 StateHasChanged 方法,会导致按钮所在组件整体刷新,建议使用实例方法 SetDisable 仅对按钮进行刷新
性能比较:
使用 IsDisabled 属性设置时本页面传输量为 4.8K
使用 SetDisable 方法设置时本页面传输量为 280B
Blazor 组件库 BootstrapBlazor 中Button组件介绍的更多相关文章
- Blazor 组件库 BootstrapBlazor 中Editor组件介绍
组件介绍 Editor组件是对Summernote 组件的二次封装. 组件分为div模式和editor模式. 默认状态下editor模式的组件样子如下: 其代码如下: <Editor @bind ...
- Blazor 组件库 BootstrapBlazor中 Ajax 组件的使用
组件解决的问题 由于Blazor在与服务器连接时使用了Websocket,仅在第一次连接时会走原MVC的连接逻辑.所以,我们无法在这个过程中完成例如身份认证.cookie处理等操作. 此组件即为解决此 ...
- Vue3 企业级优雅实战 - 组件库框架 - 10 实现组件库 cli - 下
上文创建了一堆 utils.component-info,并实现了新组件模块相关目录和文件的创建.本文继续实现后面的内容. 1 组件样式文件并导入 在 src/service 目录中创建 init-s ...
- Antd组件库,利用Menu组件模拟一个简单Tree组件
当前工作中,前端的主要技术栈用是vue. 那React怎么办呢?总不至于把他扔在墙角吧! 只能在一些很小的项目上,也只有自己一个前端的时候,悄悄的上React. 当然,React项目UI组件还是最喜欢 ...
- Vue3 企业级优雅实战 - 组件库框架 - 3 搭建组件库开发环境
前文已经初始化了 workspace-root,从本文开始就需要依次搭建组件库.example.文档.cli.本文内容是搭建 组件库的开发环境. 1 packages 目录 前面在项目根目录下创建了 ...
- 【Angular】关于angular引用第三方组件库无法改变其组件样式 :host ::ng-deep
[Angular]关于angular引用第三方组件库无法改变其组件样式 :host ::ng-deep css修改:无效 .ant-input-affix-wrapper .ant-input:not ...
- 基于vue2.0前端组件库element中 el-form表单 自定义验证填坑
eleme写的基于vue2.0的前端组件库: http://element.eleme.io 我在平时使用过程中,遇到的问题. 自定义表单验证出坑: 1: validate/resetFields 未 ...
- Vue3 企业级优雅实战 - 组件库框架 - 8 搭建组件库 cli
前面的文章分享了组件库的开发.example.组件库文档,本文分享组件库 cli 开发. 1 为什么要开发组件库 cli 回顾一个新组件的完整开发步骤: 1 在 packages 目录下创建组件目录 ...
- Vue3 企业级优雅实战 - 组件库框架 - 9 实现组件库 cli - 上
上文搭建了组件库 cli 的基础架子,实现了创建组件时的用户交互,但遗留了 cli/src/command/create-component.ts 中的 createNewComponent 函数,该 ...
- BootstrapBlazor 组件库使用体验---Table篇
原文地址:https://www.cnblogs.com/ysmc/p/13323242.html Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 Ja ...
随机推荐
- WPF 实现一个吃豆豆的Loading加载动画
运行的效果如下 先引入一下我们需要的库 在nuget上面搜一下"expression.Drawing",安装一下这个包 我们再创建一个Window,引入一下这个包的命名空间 我们设 ...
- Asp.net core 学习笔记之 globalization & localization 复习篇
更新: 2022-03-22 修订版: ASP.NET Core – Globalization & Localization 更新: 2021-06-15 之前有说过, 我没有使用默认的 f ...
- Figma 学习笔记 – Prototype
挺简单的, 只要知道它有什么, 基本上就会用了 监听 Event Type 监听 Callback Action 过度 Animation Frame Scrolling
- 手撸MQ消息队列——循环数组
队列是咱们开发中经常使用到的一种数据结构,它与栈的结构类似.然而栈是后进先出,而队列是先进先出,说的专业一点就是FIFO.在生活中到处都可以找到队列的,最常见的就是排队,吃饭排队,上地铁排队,其他就不 ...
- 全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数
全网最适合入门的面向对象编程教程:49 Python 函数方法与接口-函数与方法的区别和 lamda 匿名函数 摘要: 在 Python 中,函数和方法都是代码的基本单元,用于封装和执行特定的任务:它 ...
- 【赵渝强老师】MongoDB的inMemory存储引擎
一.MongoDB的存储引擎概述 存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始 ...
- USB-A, Micro, lightning and USB-C
- eBPF 概述:第 2 部分:机器和字节码
1. 前言 我们在第 1 篇文章中介绍了 eBPF 虚拟机,包括其有意的设计限制以及如何从用户空间进程中进行交互.如果你还没有读过这篇文章,建议你在继续之前读一下,因为没有适当的介绍,直接开始接触机器 ...
- .NET高级调试 - 3.7对象检查
简介 在大多数调试会话中,首先需要检查的项目就是分析应用程序的状态.在确认程序的问题是某种无效状态造成的,我们便需要分析程序是如何变成无效状态的.那么在分析过程中,需要为我们深入了解对象的各种审查方法 ...
- 《你不知道的JavaScript》读书笔记(一):JS是如何查找变量的
这本书之前囫囵地看了一遍,确实点明了很多以前不清不楚的点,但是仅仅看一遍是没什么用的,最近面试遇到不少原理相关的题感觉答得不理想,回头看下其实以前都理解过,但是没有记下来,正好结合实际的问题来再学习一 ...