提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2023-05-09 10:20:04.040|阅读 150 次
概述:本文将为大家介绍界面控件DevExtreme的Accordion(折叠)组件中如何控制折叠操作以及键盘支持,欢迎下载最新版体验~
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。
请注意:在开始本教程之前,请确保DevExtreme已安装在Angular、Vue、React或jQuery应用程序中。
DevExpress技术交流群7:674691612 欢迎一起进群讨论
默认情况下,同一时刻只能有一个面板处于展开状态,要改变这一点,将 和 属性切换为true。
jQuery
JavaScript
$(function () {
$("#accordionContainer").dxAccordion({
// ...
// All panels may be collapsed
collapsible: true,
// Multiple panels may be expanded
multiple: true
});
});
Angular
HTML
<dx-accordion
[collapsible]="true" <!-- All panels may be collapsed -->
[multiple]="true"> <!-- Multiple panels may be expanded -->
</dx-accordion>
TypeScpipt
import { DxAccordionModule } from "devextreme-angular";
// ...
export class AppComponent {
// ...
}
@NgModule({
imports: [
// ...
DxAccordionModule
],
// ...
})
Vue
App.vue
<template>
<DxAccordion
:collapsible="true" <!-- All panels may be collapsed -->
:multiple="true"> <!-- Multiple panels may be expanded -->
</DxAccordion>
</template>
<script>
import 'devextreme/dist/css/dx.light.css';
import DxAccordion from "devextreme-vue/accordion";
export default {
components: {
DxAccordion
}
};
</script>
React
App.js
import React from 'react';
import 'devextreme/dist/css/dx.light.css';
import { Accordion } from 'devextreme-react/accordion';
class App extends React.Component {
render() {
return (
<Accordion
collapsible={true} {/* All panels may be collapsed */}
multiple={true}> {/* Multiple panels may be expanded */}
</Accordion>
);
}
}
export default App;
最终用户可以使用以下键与UI组件进行交互。
您可以使用registerKeyHandler(key, handler)方法实现键的自定义处理程序。
jQuery
JavaScript
function registerKeyHandlers () {
const accordion = $("#accordionContainer").dxAccordion("instance");
accordion.registerKeyHandler("backspace", function(e) {
// The argument "e" contains information on the event
});
accordion.registerKeyHandler("space", function(e) {
// ...
});
}
Angular
TypeScpipt
import { ..., ViewChild, AfterViewInit } from '@angular/core';
import { DxAccordionModule, DxAccordionComponent } from 'devextreme-angular';
// ...
export class AppComponent implements AfterViewInit {
@ViewChild(DxAccordionComponent, { static: false }) accordion: DxAccordionComponent;
// Prior to Angular 8
// @ViewChild(DxAccordionComponent) accordion: DxAccordionComponent;
ngAfterViewInit () {
this.accordion.instance.registerKeyHandler('backspace', function(e) {
// The argument "e" contains information on the event
});
this.accordion.instance.registerKeyHandler('space', function(e) {
// ...
});
}
}
@NgModule({
imports: [
// ...
DxAccordionModule
],
// ...
})
Vue
<template>
<DxAccordion :ref="myAccordionRef" />
</template>
<script>
import 'devextreme/dist/css/dx.light.css';
import DxAccordion from 'devextreme-vue/accordion';
const myAccordionRef = 'my-accordion';
export default {
components: {
DxAccordion
},
data() {
return {
myAccordionRef
}
},
computed: {
accordion: function() {
return this.$refs[myAccordionRef].instance;
}
},
mounted: function() {
this.accordion.registerKeyHandler('backspace', function(e) {
// The argument "e" contains information on the event
});
this.accordion.registerKeyHandler('space', function(e) {
// ...
});
}
}
</script>
React
App.js
import React from 'react';
import 'devextreme/dist/css/dx.light.css';
import { Accordion } from 'devextreme-react/accordion';
class App extends React.Component {
constructor(props) {
super(props);
this.accordionRef = React.createRef();
}
render() {
return (
<Accordion ref={this.accordionRef} />
);
}
get accordion() {
return this.accordionRef.current.instance;
}
componentDidMount() {
this.accordion.registerKeyHandler('backspace', function(e) {
// The argument "e" contains information on the event
});
this.accordion.registerKeyHandler('space', function(e) {
// ...
});
}
}
export default App;
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn
文章转载自:慧都网



在现代软件开发过程中,代码质量与可靠性是确保项目成功的关键要素。作为一款领先的自动化测试工具,Parasoft C/C++test 提供了一套完整的解决方案,帮助开发团队执行静态代码分析、单元测试、运行时错误检测等多项质量保障活动。通过深度插桩与动态监控能力,C/C++test 能够精准捕捉代码中的内存泄露、资源未释放等运行时缺陷。
本教程主要介绍如何使用DevExpress WinForms数据网格控件创建和自定义在分组行和分组页脚中显示的摘要,欢迎下载最新版体验!
在嵌入式系统中,函数往往依赖于外部设备状态或其他模块的返回结果,这使得测试的复杂性显著增加。在实际测试过程中,经常会遇到一个函数多次调用另一个依赖函数,并且需要根据不同的调用顺序返回不同结果的情况。Parasoft C/C++test 作为一款专业的自动化测试工具能够通过桩函数实现多次调用返回不同值,从而完成对复杂逻辑的充分测试。
在现代软件开发过程中,自动化单元测试是确保代码质量与可靠性的关键环节。尤其对于特定框架(如MFC)的代码,测试复杂度显著增加,常因依赖外部资源或交互操作而难以在静默环境中顺利执行。Parasoft C/C++test作为专业的软件测试工具,致力于帮助开发团队高效实施自动化测试,通过其强大的桩函数功能,能够有效模拟依赖组件的行为,从而实现对复杂逻辑的隔离测试。
相关产品
高性能HTML5/JavaScript开发框架,利用现代Web开发堆栈构建优异性能的应用程序。
DevExpress Universal Subscription优秀的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站 