前端实现展开收起的效果 (react)

需求背景:需要实现文本的展开收起效果,文本是一行一行的,数据格式是数组结构。

如图所示(图片已脱敏)

简单实现:使用一个变量控制展开收起效果。

展开收起逻辑部分(react)

javascript 复制代码
 const [fold, setFold] = useState(false);

  /** 展开收起 */
  const handleFold = () => {
    setFold(!fold);
  }

jsx 部分:

js 复制代码
 <Descriptions.Item label="证书备用名称">
    <>
       {
       	// 展开时展示全部数组内容,收起时只展示前5项
         (fold ? sansData : sansData.slice(0, 5)).map((item, index) => {
           return (
             <div key={index}>
             	{item}
             </div>
           )
         })
       }
       // 控制文本展示
       {sansData.length > 5 &&
         <div style={{ color: '#1890ff', cursor: 'pointer' }} onClick={handleFold}>
           {fold ? <span><UpOutlined />收起</span> : '... 查看全部'}
         </div>
       }
     </> 
</Descriptions.Item>
相关推荐
moshuying16 分钟前
块扩散 + GDN 改造:Clover 把「并行生成」塞进了 Agent 的长上下文里
前端·算法
kyriewen18 分钟前
我算了笔账:AI 编程工具一年烧掉两台 MacBook
前端·人工智能·程序员
moshuying1 小时前
扩散模型开始写代码、开网页了:350 亿参数,速度比 Jev 快一倍
前端·算法
qq_401700411 小时前
100 个 IoT 小项目,给 ESP32 入门补上实操
前端·网络·stm32
输出输入2 小时前
学习前端主流书单推荐
前端
anyup2 小时前
uView Pro X 1.0.0 发布:全面支持 uni-app x 蒸汽模式,80+ 组件
前端·uni-app·ai编程
apollo_qwe2 小时前
大模型 API 接通了,AI 聊天页面为什么还是不好用?
前端·vue.js·人工智能
爱勇宝2 小时前
你可能成不了技术大佬,然后呢?
前端·后端·程序员
疯华整猫3 小时前
从 MVP 到 MVI,从 Java 到 Kotlin:老项目升级的避坑指南
前端
徐小夕@趣谈前端3 小时前
Web 端 OFD 编辑器踩坑记:从“只能预览”到“在线改”
前端·编辑器