React Native NativeBase Checkbox组件内部文本超出屏幕不收缩如何解决
原因
NativeBase的Checkbox组件默认未配置flex收缩规则,其宽度会跟随子文本内容撑开,不受父级容器的宽度限制,最终导致长文本溢出屏幕,不属于全局flex配置遗漏问题。
修复方法
- 给Checkbox组件添加
shrink={1}属性,开启flex收缩特性,让Checkbox宽度自动适配父容器的宽度上限 - 若需要长文本单行展示加末尾省略效果,额外给内部Text组件添加
numberOfLines={1}属性即可
修正后代码
import React from "react" import {Box, Center, Checkbox, NativeBaseProvider, Text} from "native-base" export const List = () => { return ( <Box mb="10%" mt="30%" width="80%" height="80%" maxHeight="80%"> <Checkbox value="superlongipermegatest" shrink={1}> <Text mx="2" numberOfLines={1}> superlongipermegatest </Text> </Checkbox> </Box> ) } export default () => { return ( <NativeBaseProvider> <Center flex={1} px="1"> <List/> </Center> </NativeBaseProvider> ) }
内容的提问来源于stack exchange,提问作者alemaz
相关产品推荐
相关产品推荐

