React List - Touch-Screen Gestures
The List supports the following touch-screen gestures.
Swipe
Swipe can be used to delete an item or access the commands of the context menu. Performing this gesture raises the itemSwipe event. To handle it, assign a function to the onItemSwipe property, or subscribe to this event using the on(eventName, eventHandler) method.App.js- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import List from 'devextreme-react/list';
- const onItemSwipe = (e) => {
- // Event handling commands go here
- };
- export default function App() {
- return (
- <List ...
- onItemSwipe={onItemSwipe}
- />
- );
- }
Long Tap
Long tap can be used to access the commands of the context menu. Performing this gesture raises the itemHold event. To handle it, assign a function to the onItemHold property, or subscribe to this event using the on(eventName, eventHandler) method just like it is demonstrated for the swipe gesture earlier on.You can also specify the time period the UI component should wait before raising the itemHold event. For this purpose, change the itemHoldTimeout property.
App.js- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import List from 'devextreme-react/list';
- export default function App() {
- return (
- <List ...
- itemHoldTimeout={1000}> {/* wait one second before raising the "itemHold" event */}
- </List>
- );
- }
Pull Down to Refresh
This gesture refreshes data in the List. To enable it, assign true to the pullRefreshEnabled property.App.js- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import List from 'devextreme-react/list';
- export default function App() {
- return (
- <List ...
- pullRefreshEnabled={true}
- />
- );
- }
Performing this gesture raises the pullRefresh event. To handle it, assign a function to the onPullRefresh property, or subscribe to this event using the on(eventName, eventHandler) method just like it is demonstrated for the swipe gesture earlier on.
See Also
If you have technical questions, please create a support ticket in the DevExpress Support Center.