由浅入深的学习React全家桶

【ReactNative】入门:从todo App开始(5)

2017-03-31  本文已影响70人  LesliePeng

删除一条todo item

row.js 首先引入TouchableOpacity

import { View, Text, StyleSheet, Switch, TouchableOpacity } from 'react-native';

在text的后面加上一个x

<View style={styles.textWrap}>
    <Text style={[styles.text, complete && styles.complete]}>{this.props.text}</Text>
</View>
<TouchableOpacity>
    <Text style={styles.destroy}>X</Text>
</TouchableOpacity>

给x写style

destroy: {
    fontSize: 20,
    color: "#CC9a9a"
  },

下面写具体的逻辑,实现的思路就是用filter方法,把不等于当前key的items作为新的items返回
app.js

handleRemoveItem(key) {
    const newItems = this.state.items.filter((item) => {
      return item.key !== key
    })
    this.setSource(newItems, newItems);
  }

wire up

return (
                <Row
                  key={key}
                  onRemove={() => this.handleRemoveItem(key)}
                  onComplete={(complete) => this.handleToggleComplete(key, complete)}
                  {...value}
                />
              )

Row里面加上onPress事件

<TouchableOpacity onPress={this.props.onRemove}>
          <Text style={styles.destroy}>X</Text>
</TouchableOpacity>

现在点击X已经能成功删除啦!

上一篇 下一篇

猜你喜欢

热点阅读