提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2023-05-04 10:49:00.840|阅读 41 次
概述:本文将为大家介绍界面控件DevExtreme的Accordion(折叠)组件中如何自定义项目外观,欢迎下载最新版体验~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。
请注意:在开始本教程之前,请确保DevExtreme已安装在Angular、Vue、React或jQuery应用程序中。
DevExpress技术交流群7:674691612 欢迎一起进群讨论
对于Accordion面板的小定制,您可以在面板数据对象中定义特定字段。例如,下面的代码生成三个面板,第一个和第三个没有自定义,第二个是禁用的。
jQuery
JavaScript
var 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 }); });
HTML
<div id="accordionContainer"></div>
Angular
HTML
<dx-accordion [dataSource]="accordionData"> </dx-accordion>
TypeScpipt
import { 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 ], // ... })
Vue
App.vue
<template> <DxAccordion :data-source="accordionData"> </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" }] }; } }; </script>
React
App.js
import 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;
如果需要更灵活的解决方案,可以定义和i。在Angular和Vue中,您可以在标记中声明它,在React中,您可以使用呈现函数(如下面的代码所示)或组件:
Angular
HTML
<dx-accordion [dataSource]="accordionData" itemTitleTemplate="title" itemTemplate="item"> <div *dxTemplate="let employee of 'title'"> <span>{{employee.firstName}} </span> <span>{{employee.lastName}}</span> </div> <div *dxTemplate="let employee of 'item'"> <span>{{employee.birthDate}} </span> <span>{{employee.position}}</span> </div> </dx-accordion>
TypeScpipt
import { 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 ], // ... })
Vue
App.vue
<template> <DxAccordion :data-source="accordionData" item-title-template="title" item-template="item"> <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" }]; }; } }; </script>
React
App.js
import 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回调函数,如下面的代码所示:
jQuery
JavaScript
var 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>"); } }); });
HTML
<div id="accordionContainer"></div>
您还可以自定义单个项,在Angular、Vue和React中,使用dxItem组件来声明它们。使用jQuery时,您可以将这些项声明为脚本,并在模板属性中引用它们,或者直接为该属性分配自定义函数。
Angular
HTML
<dx-accordion> <dxi-item title="John Smith"> <span>Network Administrator</span> </dxi-item> <dxi-item title="Samantha Jones"> <span>Technical Writer</span> </dxi-item> </dx-accordion>
TypeScpipt
import { DxAccordionModule } from "devextreme-angular"; // ... export class AppComponent { // ... } @NgModule({ imports: [ // ... DxAccordionModule ], // ... })
Vue
App.vue
<template> <DxAccordion> <DxItem title="John Smith"> <template #default> <div>Network Administrator</div> </template> </DxItem> <DxItem title="Samantha Jones"> <template #default> <div>Technical 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 } }; </script>
React
App.js
import 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 title="John Smith"> <span>Network Administrator</span> </Item> <Item title="Samantha Jones"> <span>Technical Writer</span> </Item> </Accordion> ); } } export default App;
jQuery
HTML
<div id="accordionContainer"></div> <script id="individualTemplate" type="text/html"> <span>Technical Writer</span> </script> JavaScript $(function() { $("#accordionContainer").dxAccordion({ items: [{ title: "John Smith", template: function() { return $("<span>").text("Network Administrator"); } }, { title: "Samantha Jones", template: $("#individualTemplate") }] }); });
此外,您可以使用第三方模板引擎来定制UI组件的外观。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
高性能HTML5/JavaScript开发框架,利用现代Web开发堆栈构建优异性能的应用程序。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢