react循环出来的节点,如果点击后删除对应的state里面的数组的某一项数据

obj.state.signuptime.map(function(child){

    return (
        <p>
            <input value={child.hour} /> 时&nbsp;&nbsp;
            <input value={child.person} /> 人&nbsp;&nbsp;&nbsp;
            <Button type="primary" shape="circle" size="small" onClick={obj.closeTime}>
                <Icon type="cross" />
            </Button>
        </p>
    )
})

比如上面的代码,是根据signuptime这个数据来循环出来的,每一项后面会跟着一个close按钮
点击这个按钮可以把对应那个位置是数据删除。
也对应地把数组改位置上的一项从数组里删除。

应该怎么写呢?怎么获取到现在点击的是对应的数据的某一项?

阅读 4.9k
1 个回答
closeTime2:function(){
        
        //删除预约时间一项
        var nowst = this.state.signuptime;
        var newst = nowst;

        newst.splice(event.target.getAttribute('data-index'),1);

        this.setState({
            signuptime:newst
        });

    },
obj.state.signuptime.map(function(child,index){

    return (
        <p>
            {index}:
            <input value={child.hour} /> 时&nbsp;&nbsp;
            <input value={child.person} /> 人&nbsp;&nbsp;&nbsp;
            <Button type="primary" shape="circle" size="small">
                <Icon type="cross" data-index={index} onClick={obj.closeTime2} />
            </Button>
        </p>
    )
})

加个index的属性,点击的时候读取该属性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题