金秋十月,iView 4.0 如约而至。但是标题信息量有点大,所以先来解读一下标题。
iView 作者 Aresn 于 2019 年创办了北京视图更新科技有限公司,开始自由、全职地维护 iView 及其相关的软件。View UI 即为原先的 iView,从 2019 年 10 月起正式更名为 View UI,并使用全新的 Logo。iView 作者将在新仓库 github.com/view-design… 继续开发 iView 4.0 和后续版本,以及维护工作。原仓库 iView 作者不再继续提交内容。
简单说就是,我们将 GitHub 迁移到了:
对于绝大部分用户来说,使用没有任何影响,之后的 issue 和 pr 也请大家到新的仓库进行提交,当然包括 Star!
请相信,全新的 View UI 组件库会带来更强大的功能和更出色的体验。由于现在已经全职维护,这里也可以向大家保证,每 1~2 周迭代一个版本。
4.0 版本的核心是功能增强和体验优化,基本没有不兼容的,大家可以放心升级,主要的更新内容下文会逐一介绍。
更新方法很简单,修改 package.json
中 iview 的版本号为 4.0.0:
"dependencies": {
"iview": "^4.0.0"
}
复制代码
然后运行 npm update iview
即可。
同时,我们也提供了一个新的 npm 包 view-design,如果你是初次使用 View UI,也可以这样安装:
npm install view-design --save
或
npm install [email protected] --save
复制代码
本次的 4.0 版本有超过 50 项更新。
UI 方面,主要是将原先的基础字号由 12px 调整为了 14px。现在的电脑屏幕越来越大,分辨率也越来越高,14px 的基础字号会更加实用,而且也是大势所趋。
对应的,很多组件的尺寸会稍微变大,比如所有的 Form 系列组件(Button、Select、Input 等等)的尺寸调整为了 40px(large)、32px(default)、24px(small)。
Button 的高度计算方式由原先的 padding 调整为了固定 height。
还有很多组件的 UI 也进行了微调,比如 Alert、Notice、Modal、Card 等等,整体更统一、规范。
下图是两个版本的尺寸对比:
List 组件是最基础的列表展示,可承载文字、列表、图片、段落,常用于后台数据展示页面。
全局配置中,新增 capture
选项,可以配置所有组件默认的 capture 模式,默认为 true。
capture 是浏览器的一种默认行为,如果开启,当可下拉的组件(例如 Select)处于展开状态时,点击外部操作不会立即响应,而是先收起下拉菜单,再次点击才会响应操作。 如果不需要该特性,可以通过全局配置,将 capture 设置为 false。
Table 表格组件是大家最关心的,4.0 我们提供了更多新的功能:
1.拖拽表头调整列宽
列 column 新增加了属性 resizable
,设置为 true 时,鼠标在表头对应列的分割线上,就可以拖拽来调整列宽了:
2.合并行或列
新增了 span-method
属性,可以自定义合并行或列,也就是可以合并单元格了,通过该属性的配置,是可以对任意的行或列进行合并的:
3.表尾合计
新增了 show-summary
属性,设置为 true 时,会在表尾显示一个合计行,自动对该列数值求和。同时也新增了 summary-method
和 sum-text
来自定义合计的算法或文案:
4.默认样式不带外侧边框
4.0 起 Table 表格组件的外轮廓默认不带边框了,更简洁,除非设置 border
属性。
这几个功能给力吧,更给力的功能我们还会在 4.x 之后的几个版本中更新哦!
1.新增属性 disabled
如果想让 Form 组件内的所有表单组件,例如 Button、Input、Select、Radio、Checkbox 等(View UI 的所有表单组件都支持)都禁用,以前的做法是要给每一个组件逐个加 disabled,很麻烦,现在只需要给外层的 Form 组件设置 disabled
属性就可以了:
2.新增属性 hide-required-mark
给表单 Form 设置了校验规则中的 required
,也就是必填,对应的 FormItem 的 label 前就会有一个红色的星号 *。但是往往一个长表单,都显示必填的 * 看起来是没必要的,所以只需要给 Form 开启 hide-required-mark
属性,就不显示必填的星号了。
3.新增属性 label-colon
开启该属性,在 FormItem 的 label 名称后会自动加冒号:,不用再一个个配置了。
4.新增事件 @on-validate
任一表单项被校验后触发,返回表单项 prop、校验状态、错误消息。
1.新增属性 allow-create
及事件 @on-create
在 filterable 模式下,开启属性 allow-create
可以通过在输入框中输入文字来创建新的条目。输入新条目后,按下回车键即可新建条目。
2.Option 组件新增属性 tag
Option 组件新增属性 tag
,设置后,在多选时,标签将优先显示设置的内容。
多选,选中的标签,默认显示的就是 label,而在远程搜索的一些场景中,只有 label 会不够用,所以新增了 tag 这一属性。
1.新增属性 show-word-limit
开启属性 show-word-limit
可以显示字数统计,配合 maxlength 属性来限制输入长度:
2.新增属性 password
在 type="password" 时,开启属性 password
可以切换显示隐藏密码:
新增属性 marks
设置属性 marks
可以显示标记。标记的 key 取值应该在闭合区间 [min, max] 内。标记点也可以通过 style 和 label 自定义样式:
1.开关背景颜色
新增属性 true-color
和 false-color
,可以自定义背景色:
2.阻止切换
新增属性 before-change
,如果设置,并返回 Promise,可以阻止切换,经常用于切换时请求数据,或二次确认的情况,可以配合 loading 来使用。
1.百分比内显
新增属性 text-inside
,开启后,可以将百分比显示在进度条内部:
2.渐变色
属性 stroke-color
设置为数组时,可以显示为渐变色了,该特性 Circle 进度环组件也支持:
带背景色
新增属性 background
, 开启后,通知提示会显示背景色:
新增属性 border
,支持带边框的样式:
新增属性 disabled
,开启后可以禁用分页组件:
其它组件还有很多更新:
color
,可以设置更多的状态点颜色及自定义颜色。count
,设置时,可以自定义角标显示内容(去角标背景),数值 count 将无效。text
,设置时,可以自定义角标显示内容(带角标背景),数值 count 将无效。亦可自定义状态点模式下的 text 内容。to
、target
、replace
、append
,支持跳转链接。size
,可以设置不同的尺寸,可选值为 large(大号)、medium(中号)、default(默认)title
、content
和 icon
。这波更新很给力吧!
iView 已经有 3 年多的沉淀,今天更名为 View UI 也是一个全新的开始。我知道市面上对我们商业化有不同的看法,但 View UI 的初衷是永不变的,会永远免费开源,也会永远更新下去,给大家不断带来期望和惊喜。
但是为了更好的服务企业用户,也为了我的公司得以生存,商业化的产品是在所难免的。如果 View UI 对你的公司或团队节省了成本,提高了开发效率,或者想使用更丰富的高阶组件、强大的整套中、后台前端解决方案,欢迎购买我们的专业版产品 View UI Pro 和 Admin Pro。
转载:https://juejin.im/post/5d9d5af0e51d45782e6039cf
文章浏览阅读3.2k次,点赞4次,收藏6次。functioncheck(date){ return(newDate(date).getDate()==date.substring(date.length-2)); } //参数date可以格式化为xx-xx-xx或xxxx-xx-xx或用/分割 附:通常来说,javascript验证日期的有效性可以通过正则判断但正则表达式无法精准验证日期的有效性,你无法通过正则表达式判断出1900-02-29是非法日期而2000-02-29是合法日期,..._js判断日期是否合法
文章浏览阅读1.2k次。使用OpenCV库,进行混合编程时mex.c文件能够编译成功,并且生出mexw64文件: 但是在调用编程成功的函数时,提示下面的错误: 解决方法: 将系统环境变量中的OpenCV bin目录进行如下的修改。 将x86修改为x64,即:C:\OpenCV2.4\build\x86\vc10\bin;修改为:C:\OpenCV2.4\build\x64\..._mex 文件 'resize.mexw64' 无效: opencv
文章浏览阅读1.8w次,点赞6次,收藏21次。 STL中迭代器的实现junguo 最近在看候捷先生的《STL源码剖析》,侯先生写的挺好的。但我读起来总感觉有些拗,理解起来有些费劲,可能他看问题的观点和我不一样造成的。开始的时候总是不太理解,后来理顺了自己的思路,发现有些东西其实并不难。在此把我对迭代器的理解整理一下,也是帮助自己消化一下,因为我发现不动手,很多东西容易遗忘。 文章里提供的一些例子程序是在D_stl迭代器实现
文章浏览阅读2k次,点赞5次,收藏37次。这篇文章主要讲解java中一个比较常用的同步工具类CountDownLatch,不管是在工作还是面试中都比较常见。我们将通过案例来进行讲解分析。一、定义CountDownLatch的作用很简单,就是一个或者一组线程在开始执行操作之前,必须要等到其他线程执行完才可以。我们举一个例子来说明,在考试的时候,老师必须要等到所有人交了试卷才可以走。此时老师就相当于等待线程,而学生就好比是执行的线程。注..._java coundlash
文章浏览阅读313次。引言(1)vector向量相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存_vector list 赋值顺序
文章浏览阅读301次。一个多月没更新博客了,不是不想写而是真的没有什么高质量的文章与大家分享,最近在做一个集团公司的BI解决方案,客户提出了一个合理但是又比较棘手的一个问题,就是北京的经理和南京的经理都有权限访问公司内部的报表,但是需要对其进行透明化的权限区分,北京的区域经理不能浏览任何关于南京区域的销售信息。这个需求是很合理的,但是客户方不一定会在一个域中,也就是这个经理可能到美国到非洲(呵呵,当然这是比喻..._没有加域怎么连ssas
文章浏览阅读1.4k次。第一步:注册IBM id账号第二步:下载相关系统的CPLEX(windows/linux/mac)这里需要系统中安装有JAVA,选择 open with Java web start launcher (需要下载JAVA),打开后就开始进入下载页面。补充JAVA安装:备注:JAVA可以通过rpm包安装,或者是bin文件安装。Rpm安装可以直接双击就可以打开jnlp后缀的文件,bin文件安装的话,需..._cplex求解双目标混合整数规划模型
文章浏览阅读2.5k次。CentOS 7 编译安装MariaDB-10.2.XCentOS 7下mariadb-10.1.22 源码编译安装过程笔记,希望对大家有帮助。 下载文件https://mariadb.com/ 或 https://downloads.mariadb.org/mariadb/10.2.11/ 源码包的下载下载链接: https://mirrors.tuna.tsinghua.edu.cn/m_group ‘mail’ not found
文章浏览阅读462次,点赞11次,收藏8次。网上的WPS各个版本基本都带有稻香插件,广告一堆堆,用户需要注册才能减少广告的显示,但依然时不时跳出来显示。其实WPS给大学做过一些版本,这种定制版本应用于大学院系的文档编写使用。最关键的是这个版本没有广告,没有稻香,没有推荐模板,只有纯净的WPS。界面虽然不华丽,风格还是很传统office2000风格,不是烦人的多标签页,也不会隐藏。工具栏不会藏着掖着直接横排展示所有图标,鼠标不用切换页,所有工具一目了然。这集美大学版本是办公软件的不二之选。_wps 大客户版
文章浏览阅读587次,点赞8次,收藏19次。我们都知道ViewPager的Tab切换是可以通过一个 OnPageChangeListener 对象进行监听的,所以我们可以为ViewPager添加一个自定义的Listener对象,在切换时记录一个时间,这样可以通过用这个时间减去页面创建后的时间得出这个多余的等待时间,上报时在总时间中减去即可。这里的 getConfigModel() 方法中,会使用页面的类名或者全路径类名,去初始化时解析的配置Map中进行id的匹配,如果匹配到说明页面需要测速,就会创建测速对象 PageObject 进行测速。
文章浏览阅读42次。前段时间百度因为“魏则西事件”而被要求整改,百度的竞价排名也被推向了风口浪尖。最近有网友@闪电精灵SEO张扬爆料:百度竞价已改版,竞价显示4条,或许取消了右侧排名! 但是在经过风波之后,百度的确有了一些变化,最明显的变化就是对推广的网站的标注,之前的对百度推广只有推广两个字,现在是成了蓝色..._python 百度竞价排名
文章浏览阅读334次。题目描述 请实现一个函数,复制一个复杂链表。在复杂链表中,每个节点除了一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者为空。 思路 1.分治先复制当前的节点,然后递归的分别复制next或random。在复制next和random的过程中会重复复制相同节点,因此需要一个map来记录当前的复制情况。2.拆分法首先,将复制节点拼接到原始节点的...