基于输入的切换按钮(Native Base)

我想在两个或其中一个输入为空时禁用按钮。顺便说一句,它是 Native Base 框架。


    <View style={styles.personal} key={data}>

        <Item floatingLabel>

          <Label>Your name:</Label>

          <Input />

        </Item>

        <Item floatingLabel style={{marginVertical: 20}}>

          <Label>Your age:</Label>

          <Input keyboardType="numeric"/>

        </Item>

        <Button style={{alignSelf: 'center'}} rounded disabled={false}

          onPress={() => this.refs.swiper.scrollBy(1)}>

            <Text style={{width: '70%', textAlign: 'center'}}>Next</Text>

          </Button>

      </View>

我尝试过的:


state = {

  inputName: "",

  inputAge: "",

}

<Input value={this.setState({inputName: value})}/> 

<Input value={this.setState({inputAge: value})} keyboardType="numeric"/>

<Button style={{alignSelf: 'center'}} rounded 

          disabled={this.state.inputName==="" & this.state.inputAge==="" ? true:false }

          onPress={() => this.refs.swiper.scrollBy(1)}>

            <Text style={{width: '70%', textAlign: 'center'}}>Next</Text>

        </Button>

变量值错误


墨色风雨
浏览 112回答 1
1回答

沧海一幻觉

你&在这种情况下错过了额外的事情。你的情况应该是这样的disabled={this.state.inputName==="" || this.state.inputAge==="" ? true:false }因为对于逻辑 AND 运算,只有当输入都为空时,结果才会为 true。如果任何输入不为空,则结果将为 false,并将启用该按钮。因此,您需要使用逻辑或运算,以便当任何输入为空时条件将返回 true。&& 是逻辑与运算& 是按位与在这里找出& 和 &&之间的区别。您可以执行以下操作以将输入值保存在状态中。<Input onChangeText={val => this.setState({ inputName: val })} value={this.state.inputName}/>  <Input onChangeText={val => this.setState({ inputAge: val })} value={this.state.inputAge} keyboardType="numeric"/>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript