首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何只显示单击的任务

如何只显示单击的任务
EN

Stack Overflow用户
提问于 2022-06-07 14:39:43
回答 1查看 54关注 0票数 0

当我按下“显示子任务”时,我只希望显示按下的任务和子任务。当我按下“隐藏”按钮时,我希望它回到原来的样子。我怎么能这么做。清单的视图

代码语言:javascript
复制
return (
    <ListGroup>
        {todos.map((task, index) => (
            <ListGroup key={index} >
                <ListGroupItem style={{ textDecoration: completeTask(task) ? 'line-through' : 'none'}} >
                    {index + 1}....{task.name}....( {task.subdata.length} subtasks )
                    <Button size='sm' className='mx-2' variant='outline-dark' onClick={() => { openClick(task.name) }}>
                        Show Subtasks
                    </Button>
                    <Button size='sm' variant='outline-secondary' onClick={closeClick}>
                        Hide Subtasks
                    </Button>
                </ListGroupItem>
                {task.subdata.filter(child => child.complete === false).map((child, index) => (
                    <ListGroupItem style={{ textDecoration: child.complete ? 'line-through' : '', display: open === task.name ? 'block' : 'none' }} key={index} className='mx-1'>
                        {child.name}
                        <Button size='sm' className='mx-5' variant='outline-dark' onClick={() => { handleToggle(child.id, taskName) }}>
                            {<BsCheckLg  />}
                        </Button>
                    </ListGroupItem>
                ))}
                <ListGroupItem style={{ fontWeight: 'bold', display: open === task.name ? 'block' : 'none' }} className='mx-2'>
                    Completed Subtasks
                </ListGroupItem>

                {task.subdata.filter(child => child.complete === true).map((child, index) => (
                    <ListGroupItem style={{ textDecoration: child.complete ? 'line-through' : '', display: open === task.name ? 'block' : 'none' }} key={index} className='mx-2'>
                        {child.name}
                        <Button size='sm' className='mx-5' variant='outline-dark' onClick={() => { unHandleToggle(child.id, taskName) }}>
                        {<BsXLg  />}
                        </Button>
                    </ListGroupItem>
                ))}
            </ListGroup>
        ))}
    </ListGroup>
)

}

EN

回答 1

Stack Overflow用户

发布于 2022-06-07 15:21:35

很难准确地理解您想要实现的目标,但我想您可以使用useState,这样每当您显示或隐藏它时,您都可以以您想要的方式设置它的状态:

代码语言:javascript
复制
import { useState } from 'react'
.......

const [visibility, setVisibility] = useState(false)

const openClick = (taskName) => {
  .......
  setVisibility(true)
}

const closeClick = () => {
  .......
  setVisibility(false)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72533168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档