weex-nuke
Version:
基于 Rax 、Weex 的高性能组件体系 ~~
100 lines (90 loc) • 2.35 kB
Markdown
# Swipe 上下左右的手势
- order: 0
- title_en: up and down, left and right
上下左右手势
---
```js
/** @jsx createElement */
import { Text, View, Swipe } from 'weex-nuke';
<NukePlayGround>
onSwipeBegin({ direction, distance, velocity }) {
console.log('begin', direction, distance, velocity);
}
onSwipe() {
console.log('swipe');
}
onSwipeEnd({ direction, distance, velocity }) {
console.log('end', direction, distance, velocity);
this.setState({
direction: direction,
distance: distance,
velocity: velocity
});
}
<Swipe
style={styles.swipeWrap}
onSwipeBegin={this.onSwipeBegin.bind(this)}
onSwipe={this.onSwipe.bind(this)}
onSwipeEnd={this.onSwipeEnd.bind(this)}>
<Text style={styles['text']}>direction: {this.state.direction}</Text>
<Text style={styles['text']}>distance: {this.state.distance}</Text>
<Text style={styles['text']}>velocity: {this.state.velocity}</Text>
</Swipe>
</NukePlayGround>
```
---
```js
import { Component, createElement, render } from 'rax';
class SwipeDemo extends Component {
constructor(props) {
super(props);
this.state = {
direction: '',
distance: 0,
velocity: 0
};
}
onSwipeBegin({ direction, distance, velocity }) {
console.log('begin', direction, distance, velocity);
}
onSwipe() {
console.log('swipe');
}
onSwipeEnd({ direction, distance, velocity }) {
console.log('end', direction, distance, velocity);
this.setState({
direction: direction,
distance: distance,
velocity: velocity
});
}
render() {
return (
<View>
<Swipe
style={styles.swipeWrap}
onSwipeBegin={this.onSwipeBegin.bind(this)}
onSwipe={this.onSwipe.bind(this)}
onSwipeEnd={this.onSwipeEnd.bind(this)}>
<Text style={styles['text']}>direction: {this.state.direction}</Text>
<Text style={styles['text']}>distance: {this.state.distance}</Text>
<Text style={styles['text']}>velocity: {this.state.velocity}</Text>
</Swipe>
</View>
);
}
}
const styles = {
swipeWrap: {
height: 1000,
backgroundColor: '#3089dc',
justifyContent: 'center',
alignItems: 'center'
},
text: {
color: '#ffffff',
fontSize: 28
}
};
render(<SwipeDemo />);
```