我有这个按钮并输入
<Button style={styles.button, {overflow: 'hidden' }} onPress={this.ADDONE}> ADD </Button>
<TextInput ref={component => this._textInput = component}
style={{height: 40, borderColor: 'gray',width:120}
value={this.state.text} defaultValue='N.m' />
这是我的尝试
ADDONE:function(){
var va=this.state._textInput;
if(va == "" || va == "undefined"){va=0}
va=va+1;
this._textInput.setNativeProps({text: va});
},
我需要的是当我按下按钮每次为输入值添加1时 按钮事件是&#34; onpress = function&#34;
现在它不能增加1,因为它是字符串而不是数字 我试过这个
var va=this.state._textInput;
var nn= {properties: { value: 0 }};
if(va == 'N.m' || va == undefined){va=0;}
nn=va;
nn=nn+1;
va = nn ;
this._textInput.setNativeProps({text: va});
只有在它无法解析文本到int之后,它才会在第一时间给出一个正确的behvaior
请帮忙
答案 0 :(得分:0)
也许你正在尝试做一些我不太了解的事情,但这对我来说似乎过于设计了。如果你需要的是在按下按钮时为变量添加+1,那么试试这个......
constructor(props){
this.super(props);
this.state = {
va = 0,
}
}
render(){
<Button
onPress={() => this.setState({va: this.state.va++})} >
ADD
</Button>
}
顺便说一句,我很确定你需要通过将它包装在一个像这样的数组中来更新你的样式声明...
style={[styles.button, {overflow: 'hidden' }]}