如何将在一个页面中的多个click事件分别对应一起来?每一个click都对应了一个跳转,但是都跳到了同一个页面。这个问题是什么,如何解决呢



  • 具体如图,新人请指教0_1461495767610_QQ截图20160424190130.png image url)


  • administrators

    之前没有任何编程基础吗?不管是什么编程语言,同名函数都只能存在一个。你要做的是,使用同一个click函数,但传入不同的参数

    render() {
    ...
    <Text onPress={this.click.bind(this, 1)} ...   // 第一个参数是绑定this,第二个参数是传入参数
    <Text onPress={this.click.bind(this, 2)} ...
    <Text onPress={this.click.bind(this, 3)} ...
    ...
    
    }
    click(index) {        // 根据传入的index不同,push到不同的index
      this.props.navigator.push({
        index
    });
    }
    


  • @sunnylqm 的确没有编程基础,我后来通过在Click事件上添加编号解决的一一对应,也不知道具体的这算什么方法


  • administrators

    @Xivaboz 有一个字符不同,那就是 完全不同 的方法。由于你这里这些click的内部逻辑完全一致,所以你并不需要多个除了名字以外其他完全一致的方法,你所需要做的只是如我上面的回复一样,用一个函数,处理不同的参数。



  • @sunnylqm 我试过这个写法(因为我完全不懂哪里错了,只能挨个参数试=。=) 但是并不好用,所以就换了这个写法,但是我觉得这样确实很冗长臃肿...



  • @sunnylqm 我又试了一次,确实好用,谢谢大神,另外请问大神您知道如果要跳转到一个静态的网页页面的话是不是要先做一个WebView组件构成的页面然后再用Navigator跳转到这个页面来实现呢?


  • administrators

    @Xivaboz 没错


登录后回复