news 2026/8/13 16:50:11

界面控件DevExtreme使用指南 - 控制折叠操作 键盘支持

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
界面控件DevExtreme使用指南 - 控制折叠操作 键盘支持

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

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

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

控制操作

默认情况下,同一时刻只能有一个面板处于展开状态,要改变这一点,将collapsible 和 multiple属性切换为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;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 16:49:41

Design2Code核心功能解析:为什么它是设计师的终极编码助手

Design2Code核心功能解析&#xff1a;为什么它是设计师的终极编码助手 【免费下载链接】design2code Convert any web design screenshot to clean HTML/CSS code 项目地址: https://gitcode.com/gh_mirrors/des/design2code Design2Code是一款开源的设计转代码工具&…

作者头像 李华
网站建设 2026/8/13 16:49:36

鸣潮自动化终极指南:5分钟配置ok-ww实现游戏效率翻倍

鸣潮自动化终极指南&#xff1a;5分钟配置ok-ww实现游戏效率翻倍 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 还在为鸣潮中重复…

作者头像 李华
网站建设 2026/8/13 16:47:29

web渗透工具

curl 是什么&#xff1f;以及和 HTTP 的关系 curl 是一个命令行网络请求工具&#xff0c;用于通过网络访问服务器资源&#xff0c;例如&#xff1a; 下载文件调用 API测试网络连接查看服务器返回的数据 curl 和 HTTP 的关系&#xff1a; curl 是一个客户端工具HTTP 是 curl 经常…

作者头像 李华
网站建设 2026/8/13 16:47:23

Downr1n 降级终极指南:5 步让老 iPhone 自由切换 iOS 版本

Downr1n 降级终极指南&#xff1a;5 步让老 iPhone 自由切换 iOS 版本 【免费下载链接】downr1n downgrade tethered checkm8 idevices ios 14, 15. 项目地址: https://gitcode.com/gh_mirrors/do/downr1n 你的旧 iPhone 是不是在升级新版 iOS 后变得又卡又耗电&#xf…

作者头像 李华
网站建设 2026/8/13 16:46:38

vuex-i18n与Vuex集成原理:深入理解状态管理设计

vuex-i18n与Vuex集成原理&#xff1a;深入理解状态管理设计 【免费下载链接】vuex-i18n Localization plugin for vue.js 2.0 using vuex as store 项目地址: https://gitcode.com/gh_mirrors/vu/vuex-i18n vuex-i18n是专为Vue.js 2.0设计的国际化插件&#xff0c;它创新…

作者头像 李华
网站建设 2026/8/13 16:46:31

微信聊天记录永久保存的终极免费方案:WeChatMsg完整使用指南

微信聊天记录永久保存的终极免费方案&#xff1a;WeChatMsg完整使用指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…

作者头像 李华