我有一个带有字段testID的按钮
<Button testID='someButton' onPress={someButtonClick}/>
是否可以通过编程方式单击具有给定testID的按钮?
答案 0 :(得分:2)
这是一个按钮按下另一个按钮的完整实现。
import React from "react"
import { View, Button } from 'react-native';
const someButtonClick = () => {
console.log("button was pressed");
}
export class PressButton extends React.Component {
constructor(props) {
super(props);
this.state = {}
}
clickButton() {
this.button.props.onPress();
}
render() {
return (
<View>
<Button title="another button"
onPress={() => { this.clickButton()}}
/>
<Button title="some button" testID='someButton'
onPress={() => { someButtonClick() }}
ref={(button) => {this.button = button; }}
/>
</View>
)
}
}
注意以下事项
答案 1 :(得分:0)
您需要创建参考。
<Button id={buttonId}
onClick={e => console.log(e.target)}
ref={(button) => { this.myButton = button; }}
// Or something like this:
ref={component => this.myButton = component}
/>
然后您可以在代码的其他位置访问该引用:
myFunction = () => {
this.myButton.click()
}
答案 2 :(得分:0)
在渲染代码中尝试一下。
<div className="container" hidden >
<button onClick={this.submit} ref={(button) => { this.btn = button }} />
</div>
功能上
btn = () => {
this.btn.click()
}
使用其他代码
this.btn()
答案 3 :(得分:0)
const uploadbtn = useRef();
我隐藏这个按钮是为了以编程方式按下它
<Button
ref={uploadbtn}
buttonStyle={{ width: 0, height: 0, opacity: 0, display: "none" }}
onPress={pickImage}
/>
然后使用这样的功能按下按钮
const test = () => {
uploadbtn.current.handleOnPress();
};
答案 4 :(得分:-1)
在render()函数中
<button type='button' onClick="{this.btnClickFunc.bind(this)}">buton</button>
和
function btnClickFunc(e){
var value = e.target.value;
}
我希望为您服务