首页 > 其他分享 >界面控件DevExtreme中文使用指南——如何在应用中更好的使用图标库?

界面控件DevExtreme中文使用指南——如何在应用中更好的使用图标库?

时间:2023-01-12 10:11:53浏览次数:58  
标签:控件 图标库 DevExtreme UI 组件 home icon 图标

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。

在本文中,我们将为大家介绍如何使用DevExtreme组件来将图像作为图标使用、使用外部的图标库等,欢迎下载最新版组件体验!

DevExtreme v22.2正式版下载

DevExpress技术交流群7:674691612      欢迎一起进群讨论

自定义图像作为图标

UI组件的icon属性接受URL,因此开发人员可以将图像的URL分配给它。但是最好用Base64类型来编码图像,以减少传输的数据量,可以在网上搜索一个图像到Base64转换器。

虽然Base64代码可以直接分配给icon属性,但由于它的长度,我们建议将它放在CSS中,将以下CSS规则添加到样式表中:

CSS

.dx-icon-customicon { // in Angular apps, add ::ng-deep before
background-image: url(data:image/png;base64,... LONG BASE64 CODE IS HERE ...);
background-repeat: no-repeat;
background-position: 0px 0px;
}

customicon这里是图标的名称,你应该分配给UI组件的icon属性。

此外,开发人员还可以为UI组件元素的不同状态提供特定的图标变体。在下面的代码中,为选定的选项卡提供了一个特殊的图标:

CSS

.dx-tab-selected .dx-icon-customicon {
background-image: url(data:image/png;base64,... LONG BASE64 CODE GOES HERE ...);
background-repeat: no-repeat;
background-position: 0px 0px;
}

从前面的示例中选择的类(如dx-tab-selected)没有记录,检查CSS规则,找出哪些类被添加到正在定制的UI组件元素中。

外部图标库

UI组件中的图标作为<i>元素插入到DOM中,当开发人员设置一个UI组件的icon属性时,它的值被用来形成<i>元素的class属性。例如,下面的代码…

icon: "home"

... 渲染到DOM,如下所示:

HTML

<i class="dx-icon dx-icon-home"></i>

这允许DevExtreme UI组件支持来自外部图标库的图标,前提是它们也应该在class属性中指定。

Font Awesome、Glyphicons和Ionicons就是这样的库,按照想要使用的库安装教程,按如下方式设置图标属性:

jQuery

JavaSciprt

$(function() {
$("#homeButton").dxButton({
icon: "fas fa-home" // Font Awesome 5
icon: "fa fa-home" // Font Awesome 4
icon: "glyphicon glyphicon-home" // Glyphicons
icon: "icon ion-md-home" // Ionicons
});
});

ASP.NET MVC Controls

Razor C#

@(Html.DevExtreme().Button()
.Icon("fas fa-home") // Font Awesome 5
.Icon("fa fa-home") // Font Awesome 4
.Icon("glyphicon glyphicon-home") // Glyphicons
.Icon("icon ion-md-home") // Ionicons
)
SVG图标

除了字体图标外,DevExtreme还以SVG格式提供了相同的图标,开发人员可以在GitHub上的DevExtreme 存储库中找到SVG图标。

下面的代码使用了Button UI组件中的SVG图标,同样的技术可以用于任何其他具有icon属性的UI组件。

1. 使用图标的URL:

JavaSciprt

new DevExpress.ui.dxButton(targetElement, {
icon: "https://path/to/the/icon.svg"
});

2. 插入SVG内容inline:

JavaSciprt

new DevExpress.ui.dxButton(targetElement, {
icon: "<svg>SVG_CONTENT</svg>"
});

3. 导入图标:

JavaSciprt

import * as myIcon from "./assets/icon.svg";
new DevExpress.ui.dxButton(targetElement, {
icon: myIcon
});

重要提示:SVG格式允许运行可能是恶意的可执行代码,强烈建议您只使用可信来源的SVG图标。


更多DevExpress线上公开课、中文教程资讯请上中文网获取

标签:控件,图标库,DevExtreme,UI,组件,home,icon,图标
From: https://www.cnblogs.com/AABBbaby/p/17045654.html

相关文章

  • Leaflet.js | 官方控件Control
    1、比例控件一个简单的比例控件,以公制(m/km)和英制(mi/ft)系统显示当前屏幕中心的比例,可扩展。使用示例L.control.scale().addTo(map);创造构造描述L.contr......
  • 【转】用pageOffice文档控件实现 office文档在线编辑
    第三方文档控件,pageOffice系统开发中经常要处理办公文档,如果word,excel,ppt,编辑整理,保存,归档。开发市场上也有很多第三文文档控件,多年的总结,还是认为pageOffice最好使。1......
  • Asp.Net自定义控件的开发
    基于Asp.Net的控件开发涉及到两种,一种是用户控件,即通过vs自带的服务器控件进行组合以开发需求,该类控件的开发相对简单;另一种是自定义控件,开发难度较高。1、在vs中新建......
  • winform最后一次获得焦点的控件
    1、当我在界面中有多个表格控件时,只有最下方有一套增删改的按钮,我就需要记录最后一次获得焦点的是哪个控件  2、在每个gridContrl上添加一个MouseDown事件。这个事件......
  • 微信小程序基础控件,入门(2),
    ​scroll-view纵向滚动<viewclass="page-section-title"bindtap='toRefreshPage'><text>VerticalScroll\n纵向滚动</text></view><viewclass="pa......
  • C# 循环给多个连续编号的控件赋值
    C#循环给多个连续编号的控件赋值我们经常在winform界面上用很多文本框用来显示一组数据,文本框前面有Label标识。我们得到的数据也经常是一个list或者数组的形式的。......
  • 使用 SAP UI5 3D Viewer 控件显示 3D 模型效果试读版
    借助SAPUI5控件家族提供的3DViewer控件,我们可以直接在浏览器里实现一些基本的3D可视化功能。首先看一看按照本教程的步骤,完成开发后,得到的3D显示效果如何。我......
  • Web 控件定位与常见操作
    在做Web自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。那么要如何定位到这......
  • Unity UI显示3D模型,控件与屏幕分辨率不同,导致在屏幕上鼠标点选模型,无法选中模型的问题
    ​UI界面显示3d模型,需要添加模型相机,通过中间RenderTexture来连接相机与界面的承载容器【RawImage】,根据项目在显示时,会对界面做适当调整,但是RawImage的宽和高会产生运行时......
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:PDFView
    本文简述如何在Smobiler中使用PDFView。Step1.新建一个SmobilerForm窗体,再拖入PDfView,布局如下PDFView.ResourcrPath默认Document,指项目下\Resources\Document,若是pd......