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'))
}