当前位置: 首页 > 知识库问答 >
问题:

如何在onClick事件绑定中传递参数?

孟承嗣
2023-03-14

我在ListItem中设置了一个onClark事件。然后在调用的方法上调用. bind来传递单击的列表项的id和name值。

下面的问题建议使用bind,但似乎将onCLick事件添加到ListItem会破坏列表绑定。

在添加单击事件之前,与asset.name的列表范围绑定按预期工作,并填充列表。

此外,如果我尝试onClark={this._onAssetSelected()没有参数,则单击事件不起作用。

问题:

如何在JSX中的onClick事件绑定中传递参数?

列表定义:

                <List selectable={true} selected={0}>  
                {

                    this.state.data.map(function (asset) {
                        return (
                            <ListItem justify="between" onClick={this._onAssetSelected.bind(this, asset.name, asset.id)} >
                                <span>{asset.name}</span>
                            </ListItem>
                        );
                    })

                }
                </List>

从单击事件调用的方法:

   _onAssetSelected(assetName, assetID) {

    console.log(assetName);  
    console.log(assetID);    


    }

共有1个答案

何涵忍
2023-03-14

你可以这样做。定义一个anonymous函数作为回调函数,在该函数中使用参数调用方法。跳出来帮忙!

<List
  selectable={true}
  selected={0}>  
  {

    this.state.data.map(function (asset) {
        return (
            <ListItem
              justify="between"
              onClick={(e) => this._onAssetSelected(asset.name, asset.id, e)} >
                <span>{asset.name}</span>
            </ListItem>
        );
    })

  }
</List>
 类似资料:
  • 我有一个HTML标记,其中当前是 但是,我希望遵循es lint规则(我希望避免内联函数),并且我在处理这个onChange函数的参数时遇到了问题。 在我的构造函数中,我有: 我看过这篇文章,但目前还没有运气。我需要做什么才能将值和事件都传递给绑定函数?

  • 问题内容: 没有参数 带参数 我想得到。我怎么才能得到它? 问题答案: 试试这个: 并在您的职能:

  • 问题内容: 我想在单击该div或same的任何子元素时传递父ID 。但是我无法实现。请告诉我我在哪里出错。代码如下: 问题答案: 要将参数传递给事件处理程序,我们需要使用 currying 。使用上述方法时,在调用render时一直没有创建新函数。

  • 我想通过单击该div或同一的任何子元素传递父id。但我无法实现。请告诉我我哪里犯错了。代码如下:

  • 问题内容: 是否可以使用数据绑定库将自定义参数传递给方法?我有需要使用onClickListener的布局xml文件: 我在这里有我的点击处理程序代码: 是否可以将我的CategoryViewModel对象从xml传递到单击处理程序? 问题答案: 您可以使用lambda表达式并将视图作为参数传递。 如果需要视图,也可以通过以下方法传递它:

  • 如何使用ES6语法向onClick事件传递额外参数? 例如: 我想向函数传递一个id,如下所示: