Joh*_*ohn 8 word-wrap react-native
假设我有以下反应本机代码:
//FormatText.js
<View style={styleOptions.container}>
<Text style={styleOptions.regular}>
Hello world I am going to eat some Pizza for the sake of eating pizza.{" "}
</Text>
<Text style={[{ fontWeight: "bold" }, styleOptions.strong]}>
Super Pizza Store.{" "}
</Text>
<Text style={styleOptions.regular}>You will pay $10</Text>
<Text style={[{ textAlignVertical: "top" }, styleOptions.superscript]}>
8
</Text>
<Text style={styleOptions.regular}>. I doubt you can afford it.</Text>
</View>;
Run Code Online (Sandbox Code Playgroud)
并且styleOptions是在此文件中定义的。
//Style.js
const styleOptions = {
container: {
flexDirection: "row",
flexWrap: "wrap",
width: 300,
padding: 10
},
regular: { fontSize: 13 },
superscript: { fontSize: 8 },
strong: { fontSize: 13 }
};
Run Code Online (Sandbox Code Playgroud)
我看到以下输出:
问题在于“Super Pizza Store”之后和指数之后有一个换行符。我想这是因为每个 Text 组件都太长,无法容纳 300px 的空间。
如何消除换行符并只允许自然换行符?理想情况下,我想将我的更改限制为Style.js仅。作为最后的手段,如果绝对有必要,我将重组FormatText.js.
您的父元素包含样式
flexDirection:"row",flexWrap:"wrap",width:300,padding:10
因此,如果子元素的宽度小于,它将包裹子元素200
既然你child elements是multiple,那么谁不满足上述条件,谁就被整体包裹。
为此,您可以考虑使用嵌套Text elements作为嵌套
<View style={styleOptions.container}>
<Text style={styleOptions.regular}>Hello world I am going to eat some Pizza for the sake of eating pizza.
<Text style={[{fontWeight:"bold"},styleOptions.strong]}>Super Pizza Store. </Text>
<Text style={styleOptions.regular}>You will pay $10</Text>
<Text style={[{textAlignVertical:'top'},styleOptions.superscript]}>8</Text>
<Text style={styleOptions.regular}>. I doubt you can afford it.</Text>
</Text>
</View>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12502 次 |
| 最近记录: |