使用 NativeBase 看不到卡体中的表格

Posted

技术标签:

【中文标题】使用 NativeBase 看不到卡体中的表格【英文标题】:Form in card body not visible with NativeBase 【发布时间】:2017-08-14 17:48:39 【问题描述】:

我尝试使用以下代码(Card 组件内的Form

<Card>
   <CardItem header style= backgroundColor: 'lightgray' >
   <Right>
      <Text>This is Right align text </Text>
   </Right>
   <Badge primary>
      <Text>step 1</Text>
   </Badge>
   </CardItem>
   <CardItem>
      <Body>
         <Text style=color: 'red'>this.state.error</Text>
         <Form style=alignSelf: 'stretch'>
         <Item>
            <Label>number:</Label>
            <Input keyboardType="numeric"/>
         </Item>
         <Item>
            <Label>date:</Label>
            <Input />
         </Item>
         <Item>
            <Label>number 2:</Label>
            <Input keyboardType="numeric"/>
         </Item>
         <Item>
            <Label>date 2:</Label>
            <Input />
         </Item>
         <Button success block
            >
            <Text>submit</Text>
            <Icon name='check' size=20 color="#FFFFFF"/>
         </Button>
         </Form>
      </Body>
   </CardItem>
</Card>

但在我的设备中,带有 android 5 页脚的 Nexus 7 Tab 不可见。 您对找到问题并解决问题有什么建议吗? 我正在使用 NativeBase 2.0.12 和 React-Native 0.42.0

我认为可能与这个问题有关:https://github.com/GeekyAnts/NativeBase/issues/668

尝试 1: 我稍微更改了我的代码,并为未出现的CardItem 添加了style=backgroundColor: 'red',并在外卡组件上找到了它。这是我的新代码:

<Card>
   <CardItem header style= backgroundColor: 'lightgray' >
   <Right>
      <Text>This is Right align text </Text>
   </Right>
   <Badge primary>
      <Text>step 1</Text>
   </Badge>
   </CardItem>
   <CardItem style=backgroundColor: 'red'>
   <Body>
      <Text style=color: 'red'>this.state.error</Text>
      <Form style=alignSelf: 'stretch'>
      <Item>
         <Label>number:</Label>
         <Input keyboardType="numeric"/>
      </Item>
      <Item>
         <Label>date:</Label>
         <Input />
      </Item>
      <Item>
         <Label>number 2:</Label>
         <Input keyboardType="numeric"/>
      </Item>
      <Item>
         <Label>date 2:</Label>
         <Input />
      </Item>
      <Button success block
         >
         <Text>submit</Text>
         <Icon name='check' size=20 color="#FFFFFF"/>
      </Button>
      </Form>
   </Body>
   </CardItem>
</Card>

这是新的截图:

当我从CardItem 中删除Form 组件时,它的渲染成功如下:

<Card>
   <CardItem header style= backgroundColor: 'lightgray' >
   <Right>
      <Text>This is Right align text </Text>
   </Right>
   <Badge primary>
      <Text>step 1</Text>
   </Badge>
   </CardItem>
   <CardItem style=backgroundColor: 'red'>
   <Body>
      <Text style=color: 'red'>this.state.error</Text>
   </Body>
   </CardItem>
</Card>

为什么我们不能在CardItem 中使用Form?它是Card 组件的未记录限制吗?

【问题讨论】:

Card 替换为 react-native 中的 View 【参考方案1】:

您的卡片组件默认具有 flex direction 列属性,将其更改为 row 以便表单可以在您的第一张卡片下方对您可见。

`

<Card style= flexDirection: 'row' >
    <CardItem header style= backgroundColor: 'lightgray' >
        <Right>
            <Text>This is Right align text </Text>
        </Right>
        <Badge primary>
            <Text>step 1</Text>
        </Badge>
    </CardItem>
    <CardItem style= backgroundColor: 'red' >
        <Body>
            <Text style= color: 'red' >this.state.error</Text>
            <Form style= alignSelf: 'stretch' >
                <Item>
                    <Label>number:</Label>
                    <Input keyboardType="numeric" />
                </Item>
                <Item>
                    <Label>date:</Label>
                    <Input />
                </Item>
                <Item>
                    <Label>number 2:</Label>
                    <Input keyboardType="numeric" />
                </Item>
                <Item>
                    <Label>date 2:</Label>
                    <Input />
                </Item>
                <Button success block
                >
                    <Text>submit</Text>
                    <Icon name='check' size=20 color="#FFFFFF" />
                </Button>
            </Form>
        </Body>
    </CardItem>
</Card>

`

【讨论】:

以上是关于使用 NativeBase 看不到卡体中的表格的主要内容,如果未能解决你的问题,请参考以下文章

如何在bootstrap 4的小屏幕中使卡体水平

Occlusion(遮挡剔除)

Excel表格上方工具栏看不到“团队”功能按钮解决办法

在Excel中绘制下划线时为啥预览的时候看不到

在服务器资源管理器下看不到表格

为啥别人看不到我填的Adobe Acrobat表格?但我自己能看到是填了