Javascript 在onClick中传递单个值(不使用表单提交)
理想情况下,我希望传递一个单数值,而不是创建几个putPriority获取 但该值不会通过用户输入(即不是输入字段) 我想通过onClick传递这个值 在我的示例中,我希望onClick在fetch(this.state.level)中向“status”传递一个数字 基本上,我希望它能像这样工作:Javascript 在onClick中传递单个值(不使用表单提交),javascript,reactjs,Javascript,Reactjs,理想情况下,我希望传递一个单数值,而不是创建几个putPriority获取 但该值不会通过用户输入(即不是输入字段) 我想通过onClick传递这个值 在我的示例中,我希望onClick在fetch(this.state.level)中向“status”传递一个数字 基本上,我希望它能像这样工作: putPriority: function(e) { e.preventDefault(); return fetch(DATA_API, { method: 'PUT
putPriority: function(e) {
e.preventDefault();
return fetch(DATA_API, {
method: 'PUT',
body: JSON.stringify({
status:this.state.level,
tag:[
{}
]
})
})
.then(function(res){ return res.json(); })
.then(function(data){ alert( JSON.stringify( data ) ) })
},
...
render: function(){
return (
<Button onClick={this.putPriority} title="level" value="1">High </Button>
<Button onClick={this.putPriority} title="level" value="2">Medium </Button>
<Button onClick={this.putPriority} title="level" value="3">Low </Button>
}
)};
putPriority:函数(e){
e、 预防默认值();
返回获取(数据)API{
方法:'放',
正文:JSON.stringify({
状态:this.state.level,
标签:[
{}
]
})
})
.then(函数(res){return res.json();})
.then(函数(数据){alert(JSON.stringify(数据))}
},
...
render:function(){
返回(
高
中等
低
}
)};
您可以使用此选项获取当前值:
putPriority: function(e) {
e.preventDefault();
var currentStatus = e.currentTarget.getAttribute("value");
return fetch(DATA_API, {
method: 'PUT',
body: JSON.stringify({
status: currentStatus,
tag: [
{}
]
})
})
.then(function(res){ return res.json(); })
.then(function(data){ alert( JSON.stringify( data ) ) })
},
这会解决你的问题
var currentStatus = e.currentTarget.getAttribute("value");
您可以使用bind()
将值传递给handleClick
函数,而不是this.state.level
只需使用value-liek即可
body: JSON.stringify({
status:value,
tag:[
{}
]
})
var-App=React.createClass({
putPriority:函数(值,e){
e、 预防默认值();
console.log(值);
},
render:function(){
返回(
高
中等
低
)
}
})
ReactDOM.render(,document.getElementById('app'))代码>
按钮
似乎是一个自定义组件。如果没有更多的代码,则不清楚事件对象是否传递给putPriority
。是的,您是对的,但他使用的是react,根据react语法,“e”将是事件,并且他定义了e.preventDefault();所以“e”是“event”,所以我们可以访问它的相关元素。如果我们谈论的是按钮HTML元素,那么是的。但是在代码中,他们使用了一个按钮组件(注意大写B和小写B),我们对此一无所知。我们不知道组件在用onClick
prop做什么。是的,这也是一个很好的观点:)让他来定义这个。。感谢您指出这一点。按钮是如何定义的?当它调用onClick
函数时,它不能只传递value
的值吗?您可以使用bind to pass value来单击函数。。。e、 g.this.putPriority.bind(this,yourvalue)