Javascript 反应-如何在“选择”下拉列表中获取父属性值

Javascript 反应-如何在“选择”下拉列表中获取父属性值,javascript,html,Javascript,Html,{ this.state.pics?this.state.pics.map((pic,index)=>{ 返回( 星期一 星期二 星期三 星期四 星期五 星期六 星期日 ) }) : "" } 您可以尝试这样的方法$(this).parent().attr('data-id')您可以尝试这样的方法$(this).parent().attr('data-id') onChange回调获取可用于访问所需属性的普通javascript事件对象 onChange回调获取可用于访问所需属性的普通jav

    { this.state.pics?this.state.pics.map((pic,index)=>{ 返回(
  • 星期一 星期二 星期三 星期四 星期五 星期六 星期日
  • ) }) : "" }
您可以尝试这样的方法
$(this).parent().attr('data-id')

您可以尝试这样的方法
$(this).parent().attr('data-id')

onChange回调获取可用于访问所需属性的普通javascript事件对象


onChange回调获取可用于访问所需属性的普通javascript事件对象。

除了通过事件API(在您的情况下)访问DOM的纯基于JS的解决方案之外,您还可以使用

但正如医生们自己所说

避免对任何可以声明式完成的操作使用引用

在您的例子中,访问select元素的自定义属性非常简单

  • 创建对要访问DOM的元素的引用

  • 将其分配给可在事件回调中访问的变量

  • 访问变量,该变量在函数中具有DOM引用

    (this.selectElement=select)}
    数据id={1}
    onChange={this.setValue}>

  • 可在以下位置找到样本:

    为了回答您的另一个问题“通过查询选择器直接访问dom是否也是react的一个好做法”——我想说,作为最后的手段,大多数问题都可以通过在组件继承权中移动道具和状态来解决

    推荐阅读


  • 除了通过事件API(在您的例子中)访问DOM的纯JS解决方案之外,您还可以使用

    但正如医生们自己所说

    避免对任何可以声明式完成的操作使用引用

    在您的例子中,访问select元素的自定义属性非常简单

  • 创建对要访问DOM的元素的引用

  • 将其分配给可在事件回调中访问的变量

  • 访问变量,该变量在函数中具有DOM引用

    (this.selectElement=select)}
    数据id={1}
    onChange={this.setValue}>

  • 可在以下位置找到样本:

    为了回答您的另一个问题“通过查询选择器直接访问dom是否也是react的一个好做法”——我想说,作为最后的手段,大多数问题都可以通过在组件继承权中移动道具和状态来解决

    推荐阅读


  • 我正在使用react的可能副本。这是一个很好的直接访问dom向下投票的方法,因为OP询问react,而提供的解决方案是jquery。我使用react。这是一个很好的直接访问dom向下投票的方法,因为OP询问react,而提供的解决方案是jquery。
    const setValue = (e) => {
     console.log(e.target.getAttribute('data-id'))
    }