TinyVue v3.17.0 正式发布
你好,我是 Kagol。
我们非常高兴地宣布,2024年6月26日,TinyVue 发布了 v3.17.0 🎉。
TinyVue 每次大版本发布,都会给大家带来一些实用的新特性,上一个版本我们重构了 chart-core,新增 CircleProcessChart 圆环进度图等6个新的图表组件,并增加了 Statistic 数据统计组件。
TinyVue 3.15.0 正式发布,推出全新的 Charts 图表组件底座📊,功能更强、图表更丰富!
本次 3.17.0 版本主要有以下重大变更:
- 增加 FluentEditor 富文本编辑器:一个基于 Quill 2.0 的富文本编辑器,在 Quill 基础上扩展了
表格
、图片
、超链接
、复制粘贴
、插入表情
、文件上传
、@提醒
、斜杆菜单
等丰富的模块和格式,框架无关、兼容 Quill API、兼容 Quill 模块生态。 - 增加
@opentiny/vue-directive
子包,用来存放实用的公共指令,并抽取v-auto-tip
指令。 - 增加
@opentiny/vue-runtime
子包,用来存放 pc / mobile / mobile-first 等多种格式的组件库 runtime。 - 基于 Select 组件封装轻量级的 BaseSelect 下拉选择组件,移除下拉树、下拉表格功能,只包含基本的下拉选择功能,并给 BaseSelect 增加 panel 插槽,用于扩展多种形态的下拉选择场景。
详细的 Release Notes 请参考:https://github.com/opentiny/tiny-vue/releases/tag/v3.17.0
本次版本共有12位贡献者参与开发,其中 @zhangpaopao0609 / @Rainer-Yu / @Zcating / trueLoving 是新朋友👏
- zhangpaopao0609 - 新增贡献者✨
- Rainer-Yu - 新增贡献者✨
- Zcating - 新增贡献者✨
- trueLoving - 新增贡献者✨
- kagol
- zzcr
- gimmyhehe
- Davont
- betavs
- wuyiping0628
- You-Hw-Y
- James-9696
也感谢新老朋友们对 TinyVue 的辛苦付出!
你可以更新 @opentiny/vue@3.17.0
进行体验!
我们一起来看看都有哪些更新吧!
增加 FluentEditor 富文本编辑器
2024年4月17日,Quill 2.0 正式发布!
Quill 是一款 API 驱动、支持格式和模块定制的开源 Web 富文本编辑器,目前在 GitHub 的 Star 数是 42.4k(开源富文本编辑器里 Star 数最高的)。
而 Quill 内置能力相对比较弱,无法完全满足企业级应用的复杂编辑场景,我们基于 Quill 2.0 封装了一个功能强大、开箱即用的 FluentEditor 编辑器,在 Quill 基础上扩展了表格、图片、超链接、复制粘贴、插入表情、文件上传、@提醒、斜杆菜单等丰富的模块和格式,框架无关、兼容 Quill API、兼容 Quill 模块生态。
FluentEditor 主要有以下特点和优势:
- 包含30多种丰富的模块和格式,除了 Quill 内置的21种格式之外,还扩展和增强了表格、图片、超链接、字数统计、表情、文件上传、复制粘贴、@提醒、斜杆快捷菜单、截图等15种模块和格式。
- 强大的表格功能,支持在工具栏插入指定行列的表格、表格行高/列宽拖拽、插入行/列、删除行/列、合并/拆分单元格等丰富的表格操作。
- 与框架无关,可以在 Vue、React、Angular 等多种框架中使用。
- 兼容 Quill 所有 API,兼容 Quill 生态模块和格式。
适用于所有有富文本编辑场景的业务,比如需求管理平台、Wiki、博客系统、工单系统等。
我们还基于 FluentEditor 封装了 Vue FluentEditor 组件,使用起来非常方便。
# 安装依赖 npm i @opentiny/vue-fluent-editor
<script setup lang="ts"> // 引入 TinyVue FluentEditor 组件 import TinyFluentEditor from '@opentiny/vue-fluent-editor' </script> <template> <tiny-fluent-editor></tiny-fluent-editor> </template>
效果图:
增加 @opentiny/vue-directive
子包
为了将 TinyVue 内部能力尽可能外溢,我们封装了一个通用指令包,将原本只在组件库内部使用的指令暴露出来给更广大的开发者使用,比如文本提示指令 v-auto-tip
,后续也会将更多指令开放出来。
<template> <div class="auto-tip" v-auto-tip>超出省略隐藏,鼠标移入是会有ToolTip提示</div> </template> <script setup> import { AutoTip as VAutoTip } from '@opentiny/vue-directive' </script> <style scoped> .auto-tip { width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } </style>
效果图:
增加 @opentiny/vue-runtime
子包
之前 TinyVue 只有全量的 runtime 包(包含了 pc / mobile / mobile-first 等多个模板),只会导致 runtime 包体积很大,影响加载性能,为了有效减少 runtime 包的体积,提升性能,增加了分模板构建的脚本,如果你是 PC 端应用,可以只引入 Runtime PC。
增加轻量级的 BaseSelect 下拉选择组件
我们先来看下 Select 组件的现状和问题:
- Select 组件中耦合了 Tree / Grid 两个重型组件,分别对应下拉树和下拉表格两个特性,
render-type="tree" | "grid"
- 下拉树和下拉表格并不是常态,普通的下拉列表才是常态,这就导致了大量只使用Select简单功能的业务包体积也很大,影响业务性能
- 依赖了 Select 的组件,比如 Area,间接地等于依赖了 Select / Grid / Tree,导致包体积变大
- 本来应该依赖基于 Select 组件的组件,比如 Pager,由于 Select 耦合了 tree/grid,因此只能自己实现一个 Select,造成重复代码
我们使用 Vite 创建一个空的 Vue 项目,对比下不同情况下构建产物体积情况:
| | 产物体积(css+js, 单位kB) | gzip之后的产物体积(单位kB) | | -- | -- | -- | | 不引入TinyVue组件 | 56 | 23 | | 只引入Select组件 | 1777 | 424 | | 只引入Tree组件 | 789 | 190 | | 只引入Grid组件 | 1217 | 302 | | 只引入Button | 310 | 91 | | 只引入Area组件(依赖Select) | 1783 | 425 |
可以看到:
- 只引入 Select 组件,产物里面却同时包含了 tree/grid 两个组件,导致产物体积很大
- Area 组件本身只是一个很简单的组件,由于引入了 Select,导致产物体积也非常大
因此为了优化 Select 组件性能,减小包体积,有必要对其进行重构,但又不能引入破坏性变更,以免影响到现有的使用了 Select 组件的业务。
这就是我们封装 BaseSelect 的初衷。
BaseSelect 组件目前已经封装完成,增加了 panel 插槽,并补充了对应的文档和E2E测试用例(所有62个E2E测试用例均已通过),BaseSelect的API保持和Select完全一致,如果你的Select组件没有配置 render-type
属性,可以直接替换成 BaseSelect。
如果你的项目中只用了基本的下拉选择功能,没有下拉树和下拉表格,那么欢迎使用更加轻量化的 BaseSelect 组件🤝。
后续我们会基于 BaseSelect 的 panel 插槽扩展 TreeSelect 下拉树和 GridSelect 下拉表格。
贡献者招募
2024年,我们规划了很多新组件和新特性,欢迎朋友们一起参与共建。
可以在以下 discussion 进行任务认领:
欢迎加入 OpenTiny 开源社区。
添加微信小助手:opentiny-official,一起参与共建!
开源不易,请给 TinyVue 点个 Star ⭐ 鼓励下,感谢你对我们 OpenTiny 的大力支持!
源码:https://github.com/opentiny/tiny-vue
联系我们
GitHub:https://github.com/opentiny/tiny-vue(欢迎 Star ⭐)
官网:https://opentiny.design/tiny-vue
B站:https://space.bilibili.com/15284299
个人博客:https://kagol.github.io/blogs
小助手微信:opentiny-official
公众号:OpenTiny

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GOTC 2024 “AIGC 产业前沿” 高峰论坛议题一览
AIGC(AI Generated Content,人工智能生成内容),即通过大量数据训练而成的人工智能系统,可根据用户的个性化指令生成文本、音频、图像、代码等内容。自 2022 年 OpenAI 公司推出 ChatGPT 以来,众多科技巨头和初创公司都加速其在 AIGC 领域的布局,如谷歌、微软、百度、华为等,都在开发自己的 AIGC 技术或产品。由此也开辟了通过 AI 内容生成服务收费、提供定制化内容解决方案等基于 AIGC 技术的商业模式。 AIGC 行业持续受到资本市场的高度关注和青睐。据不完全统计,2024年上半年,全球 AIGC 行业融资总额达到 1384 亿元,累计发生投资事件 363 次,总融资金额较去年同期增长23.3%(2023年为1123亿人民币),且在融资次数上猛增307.9%(2023年为89次)。 在短短两年的时间里,AIGC 技术发展快速,正逐步实现多模态融合的突破,例如,通过整合文本、图像和声音,AIGC 技术正在创造更为多元和复杂的内容形式,进一步拓宽了其在游戏、影视制作、出版业、金融分析、数字人创建等多个应用场景中的巨大的潜力和价值。 AIGC 技术...
- 下一篇
凹语言开源 2 周年
凹语言项目于2019年初立项,2020年第一次开发组会议确立了"不做玩具车"的目标,2022年7月底正式开源,至今开源2周年。简单回顾在最近1年的项目进展和未来目标。凹语言主页:https://wa-lang.org/ 凹语言1年来的工作进展 在1年内开发组举行了13次会议,发布了碎碎念文章12篇,发布v0.9.0~v0.14.0共8个版本。最近1年凹语言重大的特性进展如下: 语言:实现函数、方法和运算符的重载功能 语言:const 常量增加 embed 实验特性 工具链:实现 wat2wasm,移除对 wabt/wat2wasm 的依赖 标准库:添加 js、js/cancas 标准库和对应胶水代码 标准库:增加 js/p5 包, 支持 P5 儿童编程 标准库:完善 gpu 包,提供访问 WebGPU 能力 案例:增加 Mandelbrot、Life、FC红白机模拟器 等案例 总体而言,在2023年的下半年的时候,通过实现FC红白机模拟器验证了凹语言用于工业开发的能力,完成了最初立项时"不做玩具车"的目标。 凹语言社区活动和奖项 作为草根社区凹语言在过去1年在力所能及的能力范围内积极里...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器