翻譯|使用教程|編輯:龔雪|2023-05-09 10:20:04.040|閱讀 137 次
概述:本文將為大家介紹界面控件DevExtreme的Accordion(折疊)組件中如何控制折疊操作以及鍵盤支持,歡迎下載最新版體驗(yàn)~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DevExtreme擁有高性能的HTML5 / JavaScript小部件集合,使您可以利用現(xiàn)代Web開發(fā)堆棧(包括React,Angular,ASP.NET Core,jQuery,Knockout等)構(gòu)建交互式的Web應(yīng)用程序,該套件附帶功能齊全的數(shù)據(jù)網(wǎng)格、交互式圖表小部件、數(shù)據(jù)編輯器等。
請注意:在開始本教程之前,請確保DevExtreme已安裝在Angular、Vue、React或jQuery應(yīng)用程序中。
DevExpress技術(shù)交流群7:674691612 歡迎一起進(jìn)群討論
默認(rèn)情況下,同一時(shí)刻只能有一個(gè)面板處于展開狀態(tài),要改變這一點(diǎn),將 和 屬性切換為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組件進(jìn)行交互。
您可以使用registerKeyHandler(key, handler)方法實(shí)現(xiàn)鍵的自定義處理程序。
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;
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)