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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
概述
简化图标按钮的使用
基本示例
动机
目前编写一个图标按钮需要写组合 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