Ich bin auf der Suche nach einem Ereignis ausgelöst durch Wischen SwipeRow
innerhalb SwipeListView
links oder rechts.React Native: Erfassen von Swiping-Ereignis in SwipeListView
Das Ziel ist es, Push-Stil-Benachrichtigungen zu haben, die leicht durch Wischen entlassen werden können. Die Benachrichtigung sollte sich allmählich ändern, wenn sie zu links (grün) und rechts (rot) geswiped wird. Nach einem bestimmten Schwellenwert (60) sollte das letzte Ereignis ausgelöst werden, in diesem Fall akzeptieren Sie (links) und () (rechts) und die Benachrichtigung sollte verschwinden.
Momentan wird dies durch Tasten gemacht, die ich entfernen möchte.
Von SwipeListView docummentation könnte dies nützlich sein:
onRowClose - Funktion aufgerufen, wenn eine Swipe-Reihe
geschlossen ist AnimierenonRowOpen - Funktion aufgerufen, wenn eine Swipe-Reihe ist offen Animieren
swipeRowStyle - Objekt mit Stilen für den übergeordneten Wrapper Ansicht des SwipeRow
leftOpenValue - TranslateX numerischen Wert für die Zeile auf der linken Seite (positive Zahl) Öffnung
rightOpenValue - TranslateX numerischen Wert für die Zeile nach rechts Öffnung (negative Zahl)
import React, { Component } from 'react';
import { AppRegistry, StyleSheet, Text, View, ListView } from 'react-native';
import { SwipeListView, SwipeRow } from 'react-native-swipe-list-view'
var data = [ { id:0, notification: true, },{ id:1, notification: false, },{ id:2, notification: false, } ];
class SampleApp extends Component {
render() {
var ds = new ListView.DataSource({ rowHasChanged: (row1, row2) => row1 !== row2 });
return (
<SwipeListView
dataSource={ds.cloneWithRows(data)}
onRowClose={() => {console.log("list.onRowClose")}}
onRowOpen={() => {console.log("list.onRowClose")}}
renderRow={ (data, secId, rowId, rowMap) => {
return (
<SwipeRow disableRightSwipe={false} disableLeftSwipe={false} leftOpenValue={60} rightOpenValue={-60} onRowClose={() => {console.log("row.onRowClose")}} onRowOpen={() => {console.log("row.onRowClose")}} swipeRowStyle={{}} leftOpenValue={60} rightOpenValue={-60}>
<View style={{flexDirection:'row',justifyContent:'space-between',alignItems:'center', borderWidth:1}}>
<Text style={{flex: 1, paddingVertical:50,backgroundColor:'green', left:0, right:0, textAlign: 'left'}}>Accept</Text><Text style={{flex: 1, paddingVertical:50, backgroundColor:'red', left:0, right:0,textAlign:'right'}}>Reject</Text>
</View>
<View>
<Text style={{left:0, right:0, paddingVertical:50,borderWidth:1, backgroundColor:'grey'}}>Notification</Text>
</View>
</SwipeRow>
);
}}
/>
);
}
}
AppRegistry.registerComponent('SampleApp',() => SampleApp);
Swipe links
Swipe rechts