AntDesign Blazor 0.19.0发布:交互式本地化、静态SSR表单,ReuseTabs 示例上线

大家好,劳动假期过后,又要回来为赋能每一个人的理想继续辛勤劳动了。

假期前后我就在为 Ant Design Blazor 新版发布做准备,这个版本离上次0.18.0已经两个月了,期间得到了很多社区贡献者的帮助,解决了一些大问题。

我觉得最大的改进就是多级overlay开合的冲突问题,由pankey888 贡献解决。值得一提的是他主要用 delphi/c++,之前甚至没写过C#,但丝毫没影响他发现并解决了多个问题。

我们的用户不乏JAVA、Python、Go等语言的开发者,他们都在看过JS框架后明智地选择了Blazor,这多少得益于 AntDesign Blazor 的美观、易用和灵活性。

本次发布的改进有很多等待了很久的特性,他们终于都在灵光一现中被实现了。

本地化交互性增强

四年来我们组件库一直未内置本地化方案,这是因为我觉得Blazor官方的方式已经够用,只是缺少了交互性,切换时需要重新加载。

因为一直以来,Localization都是.NET的本地化最佳解决方案,而社区也做了多重资源文件格式,如json和yaml。纵观现有 Blazor 组件库的本地化实现,都是自己实现的服务。而我们的文档一直是中英双语的,实现了一个语言服务和静态字典来动态切换。但因为无法兼容.NET生态,一直不想下放到组件库中。我们希望组件尽量灵活,尽量提高扩展性。

这次我们引入了交互式本地化服务,它兼容 .NET 本身的Localizatin框架,无缝支持第三方提供者,却比官方提供的本地化方案更好,因为官方的需要刷新浏览器而且依赖接口,而我们提供的服务是无需刷新的UI语言切换。

5370240b812d9eccd6407e9014d106b0.gif

ReuseTabs的文档和示例上线

另外一个重大变化,就是我们终于在文档上开辟了新的栏目『高阶功能』,这个栏目会放一些没有包含在 AntDesign 中功能组件。

我们首先把ReuseTabs 的文档和示例放到站点上了。之前受限于站点自定义的路由和动态demo的实现方式(当然还有想象力),没能实现这种类似子应用的效果。但经过灵光一现,原来是可以的!这让我们以后实现更多完整的示例做了很好的示范。

f004532154041be6bf37d8b54d6b4766.gif

Form表单支持静态SSR

静态SSR是.NET 8的最大改进,表单提交要用同步提交的方案,所以Form和表单组件都需要适配,才能让验证和绑定生效。因此我们对Form和部分组件进行了改进,让他们支持表单验证和模型绑定。

好了,更多细节请大家关注我们后面陆续发布的文章。另外,我们的Github sponsor 开通了,目前这个项目还是个人维持,需要有更多朋友和企业的赞助!

以下是本次更新列表。

0.19.0

2024-5-7

  • TreeSelect

    • 🆕 新增 ExpandedKeys 属性。#3844 @pankey888

    • 🆕 新增 TitleIconTemplate 属性。#3834 @pankey888

    • 🆕 新增 泛型值支持。#3831 @ElderJames

    • 🐞 修复 设置 TreeChecable 时勾选无效的问题。#3839 @pankey888

    • 🐞 修复 在重新渲染时树节点会收取。#3827 @pankey888

  • Form

    • 🔥 支持静态 SSR 模型绑定和验证。#3580 @ElderJames

    • 🆕 新增 模型 DataAnnotations 的本地化支持。#3823 @ElderJames

    • 🐞 修复 null 引用异常。#3815 @ElderJames

    • 🐞 修复 当没有设置"变更时验证",在提交前不应该验证。#3812 @ElderJames

    • 🐞 修复 动态模型的必填数据声明失效。#3811 @ElderJames

    • 🐞 修复 的 IsModified 属性在 ValidateOnChange 时失效。#3795 @ElderJames

    • 🐞 修复 动态字段的 Rules 验证方式。#3791 @ElderJames

    • 🐞 修复 FormItem 绑定字典类型判断。#3787 @tiansfather

  • ReuseTabs

    • 🆕 新增 公开 ReuseTabsService 的 Pages 属性,以供持久化等场景。#3800 @ElderJames

    • 📖 增加 文档和示例。#3802 @ElderJames

    • 🐞 修复 不应该自动跳转到第一个固定的tab。#3825 @ElderJames

  • Select

    • 🆕 新增 EnumSelect 绑定有 Flags 特性的枚举类型时,支持用 Value 绑定组合值。

    • 🐞 修复 选项列表随数据源变更重新排序。#3806 @miguelkmarques

    • 📖 给 TableSelect 示例增加查询功能。#3797 @ElderJames

  • Modal

    • 🆕 新增 自定义 Header。7be4807 [@Pat Hartl](https://github.com/Pat Hartl)

    • 🆕 新增 支持更新确认按钮的 Loading 状态。#3796 @ElderJames

    • 🛠 重构 ModalService 中创建模态框的方法同步地返回 ModalRef。#3794 @ElderJames

    • 🐞 修复 JS 删除元素抛出异常。#3847 @ElderJames

  • DatePicker

    • 🐞 修复 DatePicker 在使用 ShowTime 时,Now 按钮无法使用,并在关闭时更改。#3830 @agolub-s

    • 🐞 修复 RangePicker 双向绑定失效,预设范围无法更新。#3850 @ElderJames

  • 🔥 新增 交互式本地化服务。#3804 @ElderJames

  • 🆕 新增 Checkbox 支持泛型值绑定。#3715 @ElderJames

  • 🐞 修复 IsExternalInit 的访问级别,避免与第三方库冲突。#3799 @ElderJames

  • 🐞 修复 InputNumber 粘贴带有分隔符的数字时无法绑定。#3841 @HuaFangYun

  • 🐞 修复 Overlay 多子级关闭时,父级联动冲突。#3838 @pankey888

在此版本加入的新贡献者

  • @pathartl made their first contribution in https://github.com/ant-design-blazor/ant-design-blazor/pull/3579

  • @tiansfather made their first contribution in https://github.com/ant-design-blazor/ant-design-blazor/pull/3787

  • @miguelkmarques made their first contribution in https://github.com/ant-design-blazor/ant-design-blazor/pull/3806

  • @pankey888 made their first contribution in https://github.com/ant-design-blazor/ant-design-blazor/pull/3827

  • @HuaFangYun made their first contribution in https://github.com/ant-design-blazor/ant-design-blazor/pull/3841

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值