组件介绍

按钮组件,应该是最基础的组件之一了。感觉没什么可介绍的,但是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组件介绍的更多相关文章

  1. Blazor 组件库 BootstrapBlazor 中Editor组件介绍

    组件介绍 Editor组件是对Summernote 组件的二次封装. 组件分为div模式和editor模式. 默认状态下editor模式的组件样子如下: 其代码如下: <Editor @bind ...

  2. Blazor 组件库 BootstrapBlazor中 Ajax 组件的使用

    组件解决的问题 由于Blazor在与服务器连接时使用了Websocket,仅在第一次连接时会走原MVC的连接逻辑.所以,我们无法在这个过程中完成例如身份认证.cookie处理等操作. 此组件即为解决此 ...

  3. Vue3 企业级优雅实战 - 组件库框架 - 10 实现组件库 cli - 下

    上文创建了一堆 utils.component-info,并实现了新组件模块相关目录和文件的创建.本文继续实现后面的内容. 1 组件样式文件并导入 在 src/service 目录中创建 init-s ...

  4. Antd组件库,利用Menu组件模拟一个简单Tree组件

    当前工作中,前端的主要技术栈用是vue. 那React怎么办呢?总不至于把他扔在墙角吧! 只能在一些很小的项目上,也只有自己一个前端的时候,悄悄的上React. 当然,React项目UI组件还是最喜欢 ...

  5. Vue3 企业级优雅实战 - 组件库框架 - 3 搭建组件库开发环境

    前文已经初始化了 workspace-root,从本文开始就需要依次搭建组件库.example.文档.cli.本文内容是搭建 组件库的开发环境. 1 packages 目录 前面在项目根目录下创建了 ...

  6. 【Angular】关于angular引用第三方组件库无法改变其组件样式 :host ::ng-deep

    [Angular]关于angular引用第三方组件库无法改变其组件样式 :host ::ng-deep css修改:无效 .ant-input-affix-wrapper .ant-input:not ...

  7. 基于vue2.0前端组件库element中 el-form表单 自定义验证填坑

    eleme写的基于vue2.0的前端组件库: http://element.eleme.io 我在平时使用过程中,遇到的问题. 自定义表单验证出坑: 1: validate/resetFields 未 ...

  8. Vue3 企业级优雅实战 - 组件库框架 - 8 搭建组件库 cli

    前面的文章分享了组件库的开发.example.组件库文档,本文分享组件库 cli 开发. 1 为什么要开发组件库 cli 回顾一个新组件的完整开发步骤: 1 在 packages 目录下创建组件目录 ...

  9. Vue3 企业级优雅实战 - 组件库框架 - 9 实现组件库 cli - 上

    上文搭建了组件库 cli 的基础架子,实现了创建组件时的用户交互,但遗留了 cli/src/command/create-component.ts 中的 createNewComponent 函数,该 ...

  10. BootstrapBlazor 组件库使用体验---Table篇

    原文地址:https://www.cnblogs.com/ysmc/p/13323242.html Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 Ja ...

随机推荐

  1. 用CSS border画一个铅笔

    先上效果图 该例子来自 CSS世界 的书中项目 总结技巧如下: 巧用 border 和 伪元素 来 绘制层叠效果. 使用 transform-origin 来改变元素的轴心 使用 filter:dro ...

  2. 小tips:使用vuecli2脚手架配置vant自定义主题

    一:工程安装less.less-loader 配置版本如下: "devDependencies": { "less": "^3.0.4", ...

  3. CSIG青年科学家会议圆满举行,合合信息打造智能文档处理融合研究新范式

          近期,第十九届中国图象图形学学会青年科学家会议(简称"会议")在广州召开.会议由中国图象图形学学会(CSIG)主办,琶洲实验室.华南理工大学.中山大学.中国图象图形学学 ...

  4. MVC模式与三层架构

    MVC 模式    三层架构    MVC 模式 与 三层架构 的关系   

  5. 深入理解Java对象结构

    一.Java对象结构 实例化一个Java对象之后,该对象在内存中的结构是怎么样的?Java对象(Object实例)结构包括三部分:对象头.对象体和对齐字节,具体下图所示 1.Java对象的三部分 (1 ...

  6. K8S基本组件梳理

    Master组件 apiserver:对资源对象进行curd操作,例如pod和server:将所有的状态储存到etcd中. schedule:监控未调度的pod,根据pod的资源需求.资源可用性和其他 ...

  7. python安装pandas+pytz

    如下图所示,在安装pandas的过程中,发现他还要安装pytz这个包.我不想等他自己下载,因为很容易出错,所以我就先下载了pytz这个包,然后安装完毕,再去安装pandas这个包. 首先呢先登录这个网 ...

  8. 精彩回顾|【2023 ACDU 中国行·深圳站】数据库主题交流活动成功举办!

    6月30日下午,[ACDU 中国行·深圳站]在深圳回酒店圆满落下帷幕.本次活动由中国数据库联盟(ACDU)联合墨天轮社区主办,围绕「数据库前沿技术揭秘及应用」这一主题,七位数据库行业的领军人物从数据库 ...

  9. DDD之领域服务与应用服务

    领域服务: 聚合中的实体没有业务逻辑代码,只有对象的创建,对象的初始化,状态管理等个体相关的代码: 对于聚合内的业务逻辑,我们编写领域服务Domain service 而对于聚合协作以及聚合与外部系统 ...

  10. document.designMode 设计模式

    document.designMode 的默认值是 off 关闭: 在控制台输入 document.designMode = 'on' 就可以编辑页面内容: