前端实现展开收起的效果 (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>
相关推荐
随笔记4 分钟前
uniapp开发的app原生操作手机系统文件
前端·javascript·uni-app
陈随易14 分钟前
国产之光,把AI融入到语言级别的编程语言-MoonBit
前端·后端·程序员
鹏程十八少23 分钟前
9. Android 精通Android高级UI总结:自定义View与动画开发终极实战指南
前端
xianxin_29 分钟前
HTML 区块
前端
江城开朗的豌豆30 分钟前
让页面"记住自己"——前端状态保留实战技巧
前端·javascript·vue.js
xianxin_31 分钟前
HTML 布局
前端
一千柯橘34 分钟前
Milkdown:重塑 Markdown 编辑体验的开源利器【实时预览你的 markdown 内容】倍儿爽!
前端·开源·markdown
于慨37 分钟前
uniapp上传文件
前端·uni-app
安然dn39 分钟前
极简实战:React + Vue 微前端(Qiankun + Vite)
前端·vue.js
Electrolux41 分钟前
使用 Semantic Release 实现 NPM 全自动发版 monorepo 和 单仓库 项目
前端