Replies: 3 comments 5 replies
-
@Lee-Lily-Lea @Yu-Core @pigwing @pankey888 @239573049 Take a look 😊 |
Beta Was this translation helpful? Give feedback.
0 replies
-
@capdiem old: <Mbtn>
<micon>mdi-home</micon>
home
</Mbtn> new: <mbtn lefticon=mdi-home>
home
</mbtn> 你甚至可以从字符串看出来变化不大 我个人是做了一个tooltip嵌套, 但是没处理你提出的icon 左右位置问题 不过可以改进 问题不大 public enum DirectionType
{
Left,
Right,
Top,
Bottom,
} 示例: <IconBtn Direction="Direction.Left"
Color="@MDC.green.L(1)"
OnClick="OnClick"
Icon="@MDI.pencil"
TooltipNote="修改">
</IconBtn>
@code {
void OnClick()
{
// doing
}
} |
Beta Was this translation helpful? Give feedback.
4 replies
-
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
概述
简化图标按钮的使用
基本示例
动机
目前编写一个图标按钮需要写组合 MButton 组件和 MIcon 两个组件,使用成本比较高:
Vuetify3 也为此做了优化:
设计细节
Vuetify3 v-btn 中的 icon 的类型是
bool | string
。对于 MasaBlazor,内置的StringBoolean
类型也可以同时表示bool | string
。然而当 Icon 参数类型为StringBoolean
时,razor 无法分析<MButton Icon></MButton>
这样的代码,razor 只能读懂<MButton Icon="true"></MButton>
,这意味此改动会是一个破坏性更改。但是这样的代码自项目开始就已经存在,无法估计影响的范围,因此不能改动目前的 Icon 属性的类型。那么只能通过新增属性来实现。思来想去,似乎只有 IconName 这个命名比较合适。当 IconName 设置时,默认设置 Icon 属性为
true
。其他包含图标组件的用法:
为此,也应该新增 LeftIconName 和 RightIconName 属性来简化以上代码的用法。
缺点
新的 IconName 属性可能会和旧的 Icon 属性语义上有点模糊不清。
替代方案
无
未解决的问题
新属性的命名可能不够好。
Beta Was this translation helpful? Give feedback.
All reactions