代码之家  ›  专栏  ›  技术社区  ›  Avi Rob Spoor

使用材质的网格列表选择正确的项

  •  1
  • Avi Rob Spoor  · 技术社区  · 8 年前

    我有一个react mobx代码,它与material ui一起工作,看起来像这样:

    render() {
      // some consts declarations
    
      return (
        <div>
          <img src={selectedPhoto} alt={'image title'} />
          <GridList className={classes.gridList} cols={2.5}>
            {photos.map(tile => (
              <GridListTile key={tile} onClick={this.selectPhoto}>
                <img src={tile} alt={'image title'} />
                <GridListTileBar
                  classes={{
                    root: classes.titleBar,
                    title: classes.title
                  }}
                />
              </GridListTile>
            ))}
          </GridList>
        </div>
      );
    }
    

    这显示了照片列表。我想在用户单击GridListTile之一时更改所选照片。钥匙( tile )实际上是一个图像url。

    如代码所示,我尝试添加 onClick={this.selectPhoto} selectPhoto 函数如下:

    selectPhoto = (photo) => {
      this.props.rootStore.selectPhoto(photo);
    }
    

    论据 photo 发送到函数的 瓦片 (图片网址)我想有。如何将此参数正确传递给函数?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Tholle    8 年前

    您可以创建一个内联箭头函数并将 tile selectPhoto 以下内容:

    photos.map(tile => (
      <GridListTile key={tile} onClick={() => this.selectPhoto(tile)}>
        <img src={tile} alt={'image title'} />
        <GridListTileBar
          classes={{
            root: classes.titleBar,
            title: classes.title
          }}
        />
      </GridListTile>
    ))