react native text 显示 三行 超出部分 中间使用省略号

(内容来自百度AI问答)

在 React Native 中,要实现 ‌Text 组件显示三行,超出部分中间使用省略号‌,可以通过以下方式实现:


核心代码

复制代码

javascriptCopy Code

<Text numberOfLines={3} ellipsizeMode="middle" style={``{ /* 可选样式 */ }} > 这是一段需要截断的长文本,当超过三行时会在中间显示省略号... </Text>


关键属性说明

  1. ‌**numberOfLines={3}**‌

    • 限制文本最多显示 ‌3 行‌,超出部分截断。
  2. ‌**ellipsizeMode="middle"**‌

    • 指定省略号位置为 ‌中间 ‌(其他可选值:headtailclip)。
  3. 样式补充‌(可选)

    • 确保容器宽度固定(如 width: '100%'),避免布局问题。

注意事项

  • iOS/Android 兼容性 ‌:ellipsizeMode 在两端均支持,但部分 Android 版本可能需要额外测试13。
  • 嵌套 Text 组件 ‌:若文本包含嵌套样式,需确保外层 Text 设置 numberOfLines2。

完整示例

复制代码

javascriptCopy Code

import React from 'react'; import { View, Text, StyleSheet } from 'react-native'; const App = () => { return ( <View style={styles.container}> <Text numberOfLines={3} ellipsizeMode="middle" style={styles.text} > 这是一段非常长的文本,用于测试三行截断并在中间显示省略号的效果。如果文本超过三行,中间部分会被替换为... </Text> </View> ); }; const styles = StyleSheet.create({ container: { padding: 20, width: '100%' }, text: { fontSize: 16, lineHeight: 24 } }); export default App;


效果说明

  • 文本超出 3 行时,‌中间内容 ‌会被替换为 ...(如 "这是一段...省略号的效果")。
  • 若需省略号在末尾,改用 ellipsizeMode="tail"3。
相关推荐
雪芽蓝域zzs5 分钟前
第四十八节:驾驶舱大屏进阶:数字滚动动画 + 渐变边框美化
前端·javascript·vue.js
Bingo_BIG13 分钟前
LOV列表的查询
前端·javascript·lov
小静AI工程实验室24 分钟前
JS 逆向接口 ID 变了?Python 与 Node.js 复现 JSON 大整数精度丢失
javascript·python·node.js
刘发财9 小时前
前端2秒生成500页矢量PDF,rust真的强到没朋友
前端·javascript·rust
梦想平凡10 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
kyriewen13 小时前
我花3天抓了一个幽灵bug,凶手藏在第4层
前端·javascript·程序员
mONESY15 小时前
LangGraph.js 从零上手:把 Agent 工作流从一条线变成一张网
javascript
默_笙15 小时前
⚓ AI 的"官方答题卡":withStructuredOutput 与结构化输出的终局之战
前端·javascript
我家猫叫佩奇16 小时前
🦭 厌倦了千篇一律的线性图标?Naive Icons 正式开源
前端·javascript·css
晚安日记wanna17 小时前
SSR 为什么不适合登录态从水合冲突到缓存串号
前端·react.js·面试