使用 material 的 GridList 选择正确的项目
Selecting the correct item using material's GridList
我有一个与 Material-UI 一起工作的 react-mobx 代码,看起来像这样:
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 时更改所选照片。 key(tile
)其实是一张图片url.
如代码所示,当 selectPhoto
函数如下所示时,我尝试添加 onClick={this.selectPhoto}
:
selectPhoto = (photo) => {
this.props.rootStore.selectPhoto(photo);
}
发送到函数的参数 photo
不是我想要的 tile
(图像 url)。如何将此参数正确传递给函数?
您可以创建一个内联箭头函数并将您的 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>
))
我有一个与 Material-UI 一起工作的 react-mobx 代码,看起来像这样:
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 时更改所选照片。 key(tile
)其实是一张图片url.
如代码所示,当 selectPhoto
函数如下所示时,我尝试添加 onClick={this.selectPhoto}
:
selectPhoto = (photo) => {
this.props.rootStore.selectPhoto(photo);
}
发送到函数的参数 photo
不是我想要的 tile
(图像 url)。如何将此参数正确传递给函数?
您可以创建一个内联箭头函数并将您的 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>
))