热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HeyUI组件库按需加载功能上线,盘点HeyUI组件库有哪些独特功能?

HeyUI组件库如果你还不了解heyui组件库,欢迎来我们的官网或者github参观。官网

HeyUI组件库

如果你还不了解heyui组件库,欢迎来我们的官网或者github参观。

  • 官网
  • github

当然,如果能给我们一颗✨✨✨,那是最赞的了!

按需加载

当heyui组件库的组件越来越多的时候,按需加载的功能终于上线了。

话不多说,先把按需加载的使用方式放出来。

在线示例

按需加载在线示例

以此图为例,按需加载后,js与css的大小将大幅度减小。

示例代码

import Vue from 'vue'; import App from './app.vue'; import { install, Prototypes, Button, DropdownMenu } from 'heyui'; require('../css/module.less'); Vue.use(install, { components: { Button, DropdownMenu }, prototypes: Prototypes }); const app = new Vue({ el: '#app', render: h => h(App) }); export default app; 

module.less

@import (less) "../../themes/common.base.less"; @import (less) "../../themes/components/dropdown-menu.less"; 

其中,common.base.less将引用系统的一些基础样式,其他的组件需要自己加载样式。

common.base.less

@import (less) "./mixins/index.less"; @import (less) "./fonts/font.less"; @import "extend.less"; @import "checkbox.less"; @import "radio.less"; @import "search.less"; @import "notify.less"; @import "message.less"; @import "notice.less"; @import "modal.less"; @import "tooltip.less"; @import "dropdown.less"; @import "dropdown-custom.less"; @import "tabs.less"; @import "input.less"; @import "input-group.less"; @import "button.less"; @import "grid.less"; @import "word-count.less"; 

其他的组件加载请参考以下文件: https://github.com/heyui/heyui/blob/master/src/components.js

盘点HeyUI组件库的独特功能

既然heyui已经支持按需加载了,那接下来就介绍一下系统的一些独特功能。

在已经使用iviewui或者elementui的前提下,你也可以选择单独使用这些功能。

AutoComplete 模糊匹配

其实AutoComplete组件,iview与elementui都有相关的功能,但是从功能性来考虑,heyui几乎将AutoComplete的功能全覆盖了。

比如说:

  • 绑定值使用key或者完整对象,搜索的时候,获取选择的对象。
  • 多选,满足选择员工等需求
  • 更加完整的事件,数据的改变有哪些事件触发:enter, blur, picker, remove, clear
  • 支持 mustMatch=false 属性

如果你有类似的需求,可以选择使用heyui的AutoComplete。

相关文档: AutoComplete文档

DateFullRangePicker 超级日期范围控件

覆盖日期范围选择的所有需求,并且自动将结束日期+1,适配后端的小于查询。

相关文档: DateFullRangePicker文档

Tree 树

其实,所有的组件都拥有Tree组件,但是heyui的Tree组件拥有更加细致的处理。

heyui的Tree组件拥有三种选择模式:

  • all: 只有子集全选才会选中父级(比如:部门选择)
  • some: 只要子集有选择,父级就会选中(比如:菜单选择,权限选择)
  • independent: 子父选择没有相关性

相关文档: Tree文档

TreePicker

其实,在系统开发过程中,TreePicker是一个需求比较强烈的功能。

虽然TreePicker组件也没有经常使用,但是,如果有相关需求的时候,能有一个完整的组件提供选择是一件非常棒的事情。

并且,我们的TreePicker组件提供 单选,多选,覆盖需求的每个角落。

相关文档: TreePicker文档

Category

Category组件,是其他组件库都没有的组件。

主要是用来满足一些大量标签数据的选择,具有很强的通用性。

比如,在我们的应用中,用来选择很多信息的行业标签。

相关文档: Category文档

CategoryPicker

CategoryPicker组件,大概是三级地址联动的最佳方案选择了吧,我们提供了非常强大的功能定制。

包括:

  • 单选,多选
  • 是否显示所有的层级
  • 展示子集数量
  • 可以使用绑定key,也可以是对象数据。
  • 分布异步获取数据
  • 数据 selectable, checkable 控制

相关文档: CategoryPicker文档

DropdownCustom 自定义下拉控件

提供自定义Dropdown,用户可以根据自己的需求定制不同的下拉组件。

相关文档: DropdownCustom文档

其中,还包括右键触发的操作,以heyui-admin系统的tabs为例。

Avatar 头像信息

其实,其他组件库也有头像组件。

但是,heyui的头像组件更加关注的是头像的排版结合,十分适用于系统中的各种信息展示。

相关文档: Avatar文档

并且,我们还提供了全局自定义处理src的功能。

// 通过配置可以设置src的全局处理方式,比如根据width参数设置不同的图片大小 HeyUI.config("avatar.handleSrc", (src) => { if (!src) return ''; // this.width 可以获取组件的参数 let width = this.width; if (width == undefined) return src; return `${src}?imageView2/1/w/${width*2}/h/${width*2}`; }); 

ImagePreview 图片预览

这种其实包含两个部分:

  • 图片列表展示
  • 图片预览功能

图片列表

图片列表适用于一些基本的图片展示需求,可以自定义图片大小以及图片间距。

图片预览

图片预览的功能在系统的各个角落都需求非常强烈。

目前开源比较好的是lightbox2,但是,lightbox2依赖于jquery,为了一个图片预览,还需要加载jquery,非常的麻烦。

所以,我们自己开发了一个图片预览功能,并且直接通过方法调用,比lightbox2的定义更加方便便捷。

相关文档: ImagePreview 图片预览

TextEllipsis 超出文本省略

超出文本省略的功能,其实也是属于系统需求比较强烈,而使用css也很难满足的功能。

我们开发的组件是一套适用性强,并且能够完美满足此类需求的功能。

如下图所示,我们拥有以下功能:

  • 自定义前缀
  • 自定义后缀
  • 配合需求完成展开收起的操作
  • 如果产生省略,则tooltip提示,如果没有产生省略,则不出提示

相关文档: TextEllipsis 超出文本省略

Clipboard 复制剪切板

不知道你是否还在使用clipboard.js,其实,我们的复制剪切板需求非常简单,而clipboard.js还停留在html,jquery模式,虽然拥有很多定义方式,但是我们完全用不到。

heyui组件库直接提供一个单独的方法,使用简练。

this.$Clipboard({ text: '测试==复制至剪切板的文本==测试', showSuccessTip: 'Copy Success' }); 

相关文档: Clipboard 复制剪切板

ScrollIntoView 滚动至视图内

其实,这是一个非常方便的功能,比如说,分页加载后滚动至头部,切换页面时切换至头部。

不需要自己写繁琐的scroll方法,并自带time参数,设定滚动特效。

相关文档: ScrollIntoView

HeyUI Admin

除了以上说明的那些独特的功能,我们还拥有一个完整的admin系统。

在线地址

最后

说了这么多,还有更多的内容等着你去发现。

github:https://github.com/heyui/heyui

期待你的star✨✨✨

相关链接

  • 官网
  • github

推荐阅读
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • 1223  drf引入以及restful规范
    [toc]前后台的数据交互前台安装axios插件,进行与后台的数据交互安装axios,并在main.js中设置params传递拼接参数data携带数据包参数headers中发送头部 ... [详细]
  • GO语言 包 if..else.. for循环 switch 数组
    包1.什么是包1.新建一个文件夹,内部写很多go文件,但是包名必须一致,改文件夹就是一个包2.作用和优点包用于组织Go源代码,提供了更好的可重用性与可读性。由于包提供了代码的封装, ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • 先看看ElementUI里关于el-table的template数据结构:<template><el-table:datatableData><e ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 由于同源策略的限制,满足同源的脚本才可以获取资源。虽然这样有助于保障网络安全,但另一方面也限制了资源的使用。那么如何实现跨域呢,以下是实现跨域的一些方法。 ... [详细]
  • 详解 Python 的二元算术运算,为什么说减法只是语法糖?[Python常见问题]
    原题|UnravellingbinaryarithmeticoperationsinPython作者|BrettCannon译者|豌豆花下猫(“Python猫 ... [详细]
  • 还记得这首是什么歌吗?
    作词:MahmoudJaff,作曲:MahmoudJaff,Timeisthecurrencyofyourlife,spenditwiselyÿ ... [详细]
author-avatar
我喜欢吕继宏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有