界面控件DevExtreme使用指南 - 如何自定义项目外观
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合使您可以利用现代Web开发堆栈包括ReactAngularASP.NET CorejQueryKnockout等构建交互式的Web应用程序该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。请注意在开始本教程之前请确保DevExtreme已安装在Angular、Vue、React或jQuery应用程序中。DevExpress新旧版本帮助文档下载可进QQ qun获取169725316对于Accordion面板的小定制您可以在面板数据对象中定义特定字段。例如下面的代码生成三个面板第一个和第三个没有自定义第二个是禁用的。jQueryJavaScriptvar accordionData [{ title: Employee, text: John Smith }, { title: Phone Number, text: (555)555-5555, disabled: true }, { title: Position, text: Network Administrator }]; $(function () { $(#accordionContainer).dxAccordion({ dataSource: accordionData }); });HTMLdiv idaccordionContainer/divAngularHTMLdx-accordion [dataSource]accordionData /dx-accordionTypeScpiptimport { DxAccordionModule } from devextreme-angular; // ... export class AppComponent { accordionData [{ title: Employee, text: John Smith }, { title: Phone Number, text: (555)555-5555, disabled: true }, { title: Position, text: Network Administrator }]; } NgModule({ imports: [ // ... DxAccordionModule ], // ... })VueApp.vuetemplate DxAccordion :data-sourceaccordionData /DxAccordion /template script import devextreme/dist/css/dx.light.css; import DxAccordion from devextreme-vue/accordion; export default { components: { DxAccordion }, data() { return { accordionData: [{ title: Employee, text: John Smith }, { title: Phone Number, text: (555)555-5555, disabled: true }, { title: Position, text: Network Administrator }] }; } }; /scriptReactApp.jsimport React from react; import devextreme/dist/css/dx.light.css; import { Accordion } from devextreme-react/accordion; const accordionData [{ title: Employee, text: John Smith }, { title: Phone Number, text: (555)555-5555, disabled: true }, { title: Position, text: Network Administrator }]; class App extends React.Component { render() { return ( Accordion dataSource{accordionData} / ); } } export default App;如果需要更灵活的解决方案可以定义itemTemplate和iitemTitleTemplate。在Angular和Vue中您可以在标记中声明它在React中您可以使用呈现函数(如下面的代码所示)或组件AngularHTMLdx-accordion [dataSource]accordionData itemTitleTemplatetitle itemTemplateitem div *dxTemplatelet employee of title span{{employee.firstName}} /span span{{employee.lastName}}/span /div div *dxTemplatelet employee of item span{{employee.birthDate}} /span span{{employee.position}}/span /div /dx-accordionTypeScpiptimport { DxAccordionModule } from devextreme-angular; // ... export class AppComponent { accordionData [{ firstName: John, lastName: Smith, birthDate: 1986/03/14, position: Network Administrator }, { firstName: Samantha, lastName: Jones, birthDate: 1972/11/13, position: Technical Writer }]; } NgModule({ imports: [ // ... DxAccordionModule ], // ... })VueApp.vuetemplate DxAccordion :data-sourceaccordionData item-title-templatetitle item-templateitem template #title{ data } div span{{ data.firstName }} /span span{{ data.lastName }}/span /div /template template #item{ data } div span{{ data.birthDate }} /span span{{ data.position }}/span /div /template /DxAccordion /template script import devextreme/dist/css/dx.light.css; import DxAccordion from devextreme-vue/accordion; export default { components: { DxAccordion }, data() { return { accordionData: [{ firstName: John, lastName: Smith, birthDate: 1986/03/14, position: Network Administrator }, { firstName: Samantha, lastName: Jones, birthDate: 1972/11/13, position: Technical Writer }]; }; } }; /scriptReactApp.jsimport React from react; import devextreme/dist/css/dx.light.css; import { Accordion } from devextreme-react/accordion; const accordionData [{ firstName: John, lastName: Smith, birthDate: 1986/03/14, position: Network Administrator }, { firstName: Samantha, lastName: Jones, birthDate: 1972/11/13, position: Technical Writer }]; class App extends React.Component { render() { return ( Accordion dataSource{accordionData} itemTitleRender{this.renderTitle} itemRender{this.renderItem} / ); } renderTitle(data) { return ( div span{data.firstName} /span span{data.lastName}/span /div ); } renderItem(data) { return ( div span{data.birthDate} /span span{data.position}/span /div ); } } export default App;如果使用jQuery请使用DOM操作方法来组合折叠项的HTML标记要应用这个标记使用itemTemplate和itemTitleTemplate回调函数如下面的代码所示jQueryJavaScriptvar accordionData [{ firstName: John, lastName: Smith, birthDate: 1986/03/14, position: Network Administrator }, { firstName: Samantha, lastName: Jones, birthDate: 1972/11/13, position: Technical Writer }]; $(function () { $(#accordionContainer).dxAccordion({ dataSource: accordionData, itemTemplate: function (itemData, itemIndex, itemElement) { itemElement.append(p itemData.birthDate /p); itemElement.append(p itemData.position /p); }, itemTitleTemplate: function (itemData, itemIndex, itemElement) { itemElement.append(span itemData.firstName /span ); itemElement.append(span itemData.lastName /span); } }); });HTMLdiv idaccordionContainer/div您还可以自定义单个项在Angular、Vue和React中使用dxItem组件来声明它们。使用jQuery时您可以将这些项声明为脚本并在模板属性中引用它们或者直接为该属性分配自定义函数。AngularHTMLdx-accordion dxi-item titleJohn Smith spanNetwork Administrator/span /dxi-item dxi-item titleSamantha Jones spanTechnical Writer/span /dxi-item /dx-accordionTypeScpiptimport { DxAccordionModule } from devextreme-angular; // ... export class AppComponent { // ... } NgModule({ imports: [ // ... DxAccordionModule ], // ... })VueApp.vuetemplate DxAccordion DxItem titleJohn Smith template #default divNetwork Administrator/div /template /DxItem DxItem titleSamantha Jones template #default divTechnical Writer/div /template /DxItem /DxAccordion /template script import devextreme/dist/css/dx.light.css; import DxAccordion, { DxItem } from devextreme-vue/accordion; export default { components: { DxAccordion, DxItem } }; /scriptReactApp.jsimport React from react; import devextreme/dist/css/dx.light.css; import { Accordion, Item } from devextreme-react/accordion; class App extends React.Component { render() { return ( Accordion Item titleJohn Smith spanNetwork Administrator/span /Item Item titleSamantha Jones spanTechnical Writer/span /Item /Accordion ); } } export default App;jQueryHTMLdiv idaccordionContainer/div script idindividualTemplate typetext/html spanTechnical Writer/span /scriptJavaScript$(function() { $(#accordionContainer).dxAccordion({ items: [{ title: John Smith, template: function() { return $(span).text(Network Administrator); } }, { title: Samantha Jones, template: $(#individualTemplate) }] }); });此外您可以使用第三方模板引擎来定制UI组件的外观。

相关新闻

要创建富文本内容?Kendo UI Angular组件有专门的编辑器应对!

要创建富文本内容?Kendo UI Angular组件有专门的编辑器应对!

您的Angular应用程序可能需要允许用户添加带有格式化选项的文本、图像、表格、外观样式和/或链接,使用Kendo UI Angular的编辑器,可以轻松搞定这些!Kendo UI Angular是专业级的Angular UI组件库,不仅是将其他供应商提供的现有组件…

2026/11/11 21:30:53 阅读更多 →
Sentry Webpack Plugin核心功能解析:自动上传SourceMap与版本管理技巧

Sentry Webpack Plugin核心功能解析:自动上传SourceMap与版本管理技巧

Sentry Webpack Plugin核心功能解析:自动上传SourceMap与版本管理技巧 【免费下载链接】sentry-webpack-plugin Repo moved to https://github.com/getsentry/sentry-javascript-bundler-plugins. Please open any issues/PRs there. 项目地址: https://gitcode.c…

2026/11/11 21:30:53 阅读更多 →
Windows硬件监控与散热控制实战:双工具组合,告别风扇狂转与高温焦虑

Windows硬件监控与散热控制实战:双工具组合,告别风扇狂转与高温焦虑

Windows硬件监控与散热控制实战:双工具组合,告别风扇狂转与高温焦虑 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcod…

2026/10/24 13:05:56 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/11 17:16:37 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/11 17:16:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻