如何以不同方式设置 Blazor 组件的样式

Posted

技术标签:

【中文标题】如何以不同方式设置 Blazor 组件的样式【英文标题】:How can I style Blazor Components differently 【发布时间】:2021-03-07 23:26:44 【问题描述】:

假设我有组件<MyText />。如何根据实现的不同位置设置不同的样式?

例如,这就是我想要做的(使用引导类方便):

MyDocument.razor

<div> This text below will be red.</div>
<MyText class="text-danger" /> 

<div> This text below will be blue.</div>
<MyText class="text-info" />

这将输出以下内容

【问题讨论】:

【参考方案1】:

看看Attribute splatting and arbitrary parametersMyText.razor

<div @attributes="AdditionalAttributes">Some Cool Text</div>

@code 
 [Parameter(CaptureUnmatchedValues = true)]
 public Dictionary<string, object> AdditionalAttributes  get; set; 

MyDocument.razor

<div> This text below will be red.</div>
<MyText class="text-danger" /> 

<div> This text below will be blue.</div>
<MyText class="text-info" />

【讨论】:

以上是关于如何以不同方式设置 Blazor 组件的样式的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式添加组件的样式与 XML 布局中的样式不同

如何以不同的方式设置 UIPageControl 的当前页面指示点的样式?

Blazor:如何使用来自具有 2 个不同状态的 2 个不同页面的组件

如何同时从不同的 Blazor 组件进行数据调用?

获取 Blazor 组件中的当前 URL

在使用Towify制作小程序时,如何配置样式的选中激活?