我在react原生应用中有一个简单的按钮组件,只用styled-components
就可以完成,如下所示:
const ButtonContainer = styled.TouchableOpacity`
border-radius: 12px;
margin: 6px;
flex-basis: ${props => props.flexBasis || "20%"};
background: ${props => props.backgroundColor || "orange"};
justify-content: center;
align-items: center;
flex: ${props => props.flex || 0};
`;
因此,当我传入一个像<ButtonContainer flex="1" />
这样的flex属性时,我希望它填充可用空间,它按预期工作;但当我不传入flex属性时,我希望它表现得像我从未设置过它一样(不要占用整个可用空间)。
这不起作用。它仍然占据了所有可用的空间。当我把flex: ${props => props.flex || 0};
行全部去掉时,它是起作用的,但有时我想把它设置为flex: 1
(可重用组件)
那么,响应本机组件中的默认flex
设置是什么?
我已经尝试了undefined
,null
和-1
,但没有任何效果。
1条答案
按热度按时间3qpi33ja1#
设置Flex:对我都不管用,所以-