美文网首页由浅入深的学习React全家桶
【ReactNative】入门:从todo App开始(5)

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

作者: LesliePeng | 来源:发表于2017-03-31 13:40 被阅读70次

    删除一条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已经能成功删除啦!

    相关文章

      网友评论

        本文标题:【ReactNative】入门:从todo App开始(5)

        本文链接:https://www.haomeiwen.com/subject/hcqvottx.html