当前位置: 首页 > news >正文

界面控件DevExtreme使用指南 - 如何自定义项目外观

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

请注意:在开始本教程之前,请确保DevExtreme已安装在Angular、Vue、React或jQuery应用程序中。

DevExpress新旧版本帮助文档下载可进QQ qun获取:169725316

对于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;

如果需要更灵活的解决方案,可以定义itemTemplate和iitemTitleTemplate。在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组件的外观。

http://www.jsqmd.com/news/1386289/

相关文章:

  • 跨境支付合规团队想用 AI Agent 提高审核和监管响应效率,哪些云上合规 AI 助手更适合?:优先评估 Amazon Quick
  • PingFangSC字体终极指南:免费开源的中文排版解决方案
  • 终极指南:使用flask-restful-swagger构建规范的RESTful API文档
  • pi-web模型测试功能:快速验证不同AI模型性能
  • Qwen3-VL-8B-Instruct-FP8:多模态模型边缘部署的FP8量化解决方案
  • 2026全国玻璃钢化粪池厂家哪家比较好?行业分析及选购指南 - 深度智识库
  • C/C++开发神器CLion全新发布v2023.1——新软件包管理解决方案
  • 2026年浙江光伏铝合金导体选型指南:材料性能、供应商评估与采购建议 - 中国华商产业观察网
  • 如何快速导出微信聊天记录:个人数据管理终极指南
  • 视频下载插件 Video Download Helper 完整上手教程:三步装好,一键存下网页视频
  • 5分钟配置你的专属音乐空间:foobox-cn美化主题完全指南
  • 意义空间数学模型核心体系:符号空间‑认知希尔伯特空间‑意义映射的三元构建研究
  • 从“工具”到“数字员工”:好客搜AI营销生态的终局推演
  • 全面解析不同网站建设特点及如何选择最适合你的方案
  • react-image-magnify常见问题解答:解决90%开发者遇到的集成难题
  • Qwen2.5-1.5B模型终极指南:如何快速上手这个强大的1.5B参数AI模型
  • 2026年长沙GEO优化公司哪家口碑稳定 - 品牌品鉴馆
  • 【大模型应用开发-ES】(四)ElasticSearch各平台安装步骤
  • 我打算做一个搬运短视频的网站
  • 一文搞懂G1(Garbage‑First)底层原理
  • 一,传感器控制LED
  • Krokiet:跨平台重复文件清理工具终极指南,快速释放硬盘空间
  • 黄石城乡建设网站深度解析:如何借助平台力量推动家乡高质量发展
  • 阿里企业邮箱购买年限怎么选,三年套餐性价比更高吗? - 选型|行业|价格|案例
  • Vue3 还原一个企业级后台-07-通用组件封装
  • 如何快速导出微信聊天记录:留痕项目完整使用指南
  • 如何快速掌握AnimeEffects:免费开源2D动画变形工具的终极指南
  • Embabel Agent Framework架构深度解析:平台抽象与模块化设计
  • List分片的5种方法
  • Embabel Agent Framework与Spring AI的完美集成:7个关键优势解析