2015-09-07 50 views
4

触发输入文件事件REACTJS我有一个输入按钮输入文件,我想点击BUTTON,它会触发输入文件事件REACT JS。如何通过另一个DOM

React.createElement('input',{type:'file', name:'myfile'}) 

然后按钮

React.createElement('a',{onClick: this.doClick},'Select File') 

那么如何定义和触发输入文件单击事件,当我们点击A HREF?

您的帮助表示感谢。 :-)

回答

3

你可以做到这一点使用jQuery:

this.doClick: function() { 
    $('input[type=file]').trigger('click'); 
} 

阵营不提供特定功能来触发事件,您可以使用jQuery或只是本地JavaScript:见MDN

+0

React.createElement( '输入',{类型: '文件',名称: 'MYFILE'}) 然后按钮 React.creatElement( '一个',{的onClick:this.doClick},'选择文件') 那么当我们点击A HREF时如何定义和触发INPUT FILE点击事件? –

+2

是的,目前我总是这样做,但我需要的是找到有什么办法可以通过反应触发,而不是通过JQUERY –

14

Creating and triggering事件你不需要这个jQuery。你甚至不需要事件处理程序。 HTML有一个特定的元素,称为label

首先,确保你的input元素具有id属性:

React.createElement('input',{type:'file', name:'myfile', id:'myfile'}) 

然后,而不是:

React.createElement('a',{onClick: this.doClick},'Select File') 

尝试:

React.createElement('label',{htmlFor: 'myfile'},'Select File') 

(而不是增加htmlForid属性,另外是为了使input元素成为label的子元素。)

现在单击label应触发与单击input本身相同的行为。

+0

谢谢你亲爱的先生! – Erem