Blazor 组件库 BootstrapBlazor 中Card组件介绍中我们说过,如果我们使用了Card组件的IsCollapsible属性设置了可伸缩的话,就只能使用Text属性来设置标题文本,不能自己定义了。

但是我们在widget组件设置的时候希望在CardHeader里放一个按钮或者一个下拉按钮,来完成一些事情,样子如下:

这里右边的添加到部分,在原始的Card中实现不了,所以我们需要改造一下。

这里我们可以在BootstrapBlazor的源码中发现,Card组件实际上是继承了CardBase.cs,所以我们也可以简单的也继承CardBase,把Card.razor的代码复制到我们WidgetCard中。

现在来看代码:

@inherits CardBase

<div @attributes="@AdditionalAttributes" class="@ClassName">
@if (CardHeader != null || !string.IsNullOrEmpty(HeaderText))
{
<div class="card-header">
<div style="display: flex;align-items: center">
<div class="card-collapse is-open" @ref="CardEelement">
<i class="card-collapse-arrow fa fa-chevron-circle-right"></i>
<div class="card-title">@HeaderText</div> </div>
@CardHeader
</div> </div>
}
<div class="@BodyClassName">
@CardBody
</div>
@if (CardFooter != null)
{
<div class="@FooterClassName">
@CardFooter
</div>
}
</div> @code
{
protected override void OnInitialized()
{
base.OnInitialized();
IsCollapsible = true;
}
}

这里我们在OnInitialized中将IsCollapsible直接设置为true,因为我们默认的widget全部都是可伸缩的,这样我们就可以在使用时少些一点东西。

关键部分是去掉了CardHeader部分的判断,在原始的Card中有一个判断是

@if (IsCollapsible)
{
<div class="card-collapse is-open" @ref="CardEelement">
<i class="card-collapse-arrow fa fa-chevron-circle-right"></i>
<div class="ms-2">@HeaderText</div>
</div> }

我们这里直接删掉这个判断,让它不论如何,都渲染CardHeader就可以了

最新文章

  1. CGCDSSQ
  2. css3++js钟表
  3. MySQL中的账号与权限管理
  4. Provider 错误 &#39;80004005&#39; 未指定的错误 /conn.asp,行 23
  5. Java 类加载机制 ClassLoader Class.forName 内存管理 垃圾回收GC
  6. 移动页面缩放方法之(二)控制HTML
  7. Hibernate(五)——面向对象查询语言和锁
  8. java学习之数据库
  9. ApiDemos示例学习(2)——App-&gt;Activity-&gt;Animation
  10. Javascript DOM 02 在&lt;ul&gt;中创建、删除 &lt;li&gt;
  11. 【足迹C++primer】30、概要(泛型算法)
  12. selenium RC
  13. Python re 正则表达式简介
  14. JDBC数据库
  15. 【MM系列】SAP MB1A MB1B MB1C MB11 MIGO的区别解析
  16. UVALive - 4885 Task 差分约束
  17. getfacl语法2
  18. 缓存击穿、缓存失效及热点key的解决方案
  19. grid - 网格线命名
  20. Spring 系列教程之自定义标签的解析

热门文章

  1. RabbitMQ Go客户端教程4——路由
  2. [XNUCA 进阶篇](web)writeup
  3. 字节跳动社会招聘&amp;内推-帮助你更快加入字节跳动
  4. JavaScript 02 运算符,分支结构
  5. python3 爬虫 Scrapy库学习1
  6. jvm大局观之内存管理篇(二):当java中new一个对象,背后发生了什么
  7. HashMap?ConcurrentHashMap?
  8. ServletConfig对象和ServletContext对象有什么区别?
  9. Correct the classpath of your application so that it contains a single, compatible version of org.springframework.util.Assert
  10. 哪些是重要的bean生命周期方法? 你能重载它们吗?