提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:龚雪|2023-01-29 10:00:28.440|阅读 110 次
概述:本文将为大家介绍在使用DevExtreme组件时如何集成第三方框架的API,欢迎下载最新版体验~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。
开发人员可以将DevExtreme UI组件与其他框架一起使用,而不仅仅是那些开箱即用的框架(Angular、React、Vue等),本文介绍如何使用DevExtreme UI组件,并在使用第三方框架时配置它们以支持模板和双向绑定。
注意:本文中的所有示例都演示了如何在没有集成jQuery的情况下使用DevExtreme UI组件,如果没有链接jQuery库或在DevExtreme脚本之后链接jQuery,则禁用该组件。
DevExpress技术交流群7:674691612 欢迎一起进群讨论
要创建一个UI组件、调用它的构造函数、传递目标元素和配置对象,开发人员可能需要为目标元素设置额外的属性(例如,数据可视化UI组件的显示属性应该设置为“block”)。
import Accordion from "devextreme/ui/accordion"; ... let container = document.getElementById("root"); let element = document.createElement("div"); container.appendChild(element); let instance = new Accordion(element, options); ...
如果不使用模块,可以使用DevExpress.ui命名空间来访问大多数UI组件的构造函数,例外的是数据可视化组件:、和所有类型的图表和仪表,这些组件属于DevExpress.viz命名空间。
let instance = new DevExpress.ui.dxAccordion(element, options); let dataVizInstance = new DevExpress.viz.dxPolarChart(element, options);
调用方法和订阅事件需要特定的UI组件实例,调用UI组件类的静态getInstance(element)方法来检索现有的UI组件实例。
// Modular approach import Accordion from "devextreme/ui/accordion"; ... let element = document.getElementById("myAccordion"); let instance = Accordion.getInstance(element) as Accordion; // Non-modular approach: let element = document.getElementById("myAccordion"); let instance = DevExpress.ui.dxAccordion.getInstance(element);
开发人员可以在运行时使用option()方法获取和设置UI组件属性。
// Get a property value let isVisible = instance.option("visible"); // Set a property value instance.option("visible", false);
要订阅事件,可以使用名称以"on" 开头的属性(例如,"onItemClick")。
或者,您可以使用"on()"方法。
指定UI组件的integrationOptions属性来提供双向绑定和模板支持。
DevExpress.ui.dxAccordion(element, { ... integrationOptions: { watchMethod: ... templates: ... createTemplate: ... } })
integrationOptions配置对象包含以下字段:
该字段接受以下函数:
function(expressionGetter, callback, watchOptions) Where
这个字段保存了UI组件初始化时添加的模板映射,项目键应该与模板名称相对应,项目值应该是包含呈现函数的对象。
templates: { itemTemplate: { render: function (renderData){ // 'renderData' includes the following fields: // 'model' - data to be applied on markup // 'itemIndex' - index of item in collection (or id in hierarchical collections) // 'container' - append rendered markup to this element ... } } }
render函数应该返回一个包含渲染模板的HTML元素。
处理自定义模板的函数,它接受HTML标记或传递给UI组件的DOM节点。模板属性,并返回带有呈现函数的对象。
createTemplate: function(source) { var template = Hogan.compile(source); return { render: function(args) { return template.render(args.data); } }; }
在某些情况下,模板会在运行时删除,例如当项目更新时,要删除分配给已删除模板的资源,请处理dxremove事件。
integrationOptions: { templates: { "item": { render: function(args) { var div = document.createElement("div"); new Button(div ,{ text: args.model }); var intervalId = setInterval(function() { console.log(args.model); }, 500); DevExpress.events.on(div, "dxremove", function() { clearInterval(intervalId); }); args.container.appendChild(div); return div; } } } }
使用UI组件的dispose()方法来处理分配给它的资源。
let element = document.createElement("div"); let instance = new Accordion(element, options); ... instance.dispose();
注意:在dispose方法调用之后,与UI组件关联的HTML元素保留在DOM中。如果还需要删除元素,则使用本地API调用。
element.remove();
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都网通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
高性能HTML5/JavaScript开发框架,利用现代Web开发堆栈构建优异性能的应用程序。
DevExpress Universal Subscription行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢