te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - Ant Design: How to prevent expansion when clicked on the Collapse header, but allow on a button? - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Ant Design: How to prevent expansion when clicked on the Collapse header, but allow on a button? - Stack Overflow

programmeradmin3浏览0评论

I am using Ant's Collapse ponent, which has a header with some text on Collapse.Panel. Also there's a Button ponent next to the header text. I need to allow Collapse's expansion only on button click, and not on the overall panel. I have tried to depict the UI here, as I can't post the screenshots.

 ____________________________________________________________
|                                                            |
|Panel Header Text <-- prevent                               |
|[Button]     <-- allow                                      |
|____________________________________________________________|

Ant's document have onChange method but it doesn't cater to an click event (which I could prevent to not make Collapse exapnd). How to restrict and allow some elements on that header to allow/prevent this collapsible behaviour?

Code Sandbox:

I am using Ant's Collapse ponent, which has a header with some text on Collapse.Panel. Also there's a Button ponent next to the header text. I need to allow Collapse's expansion only on button click, and not on the overall panel. I have tried to depict the UI here, as I can't post the screenshots.

 ____________________________________________________________
|                                                            |
|Panel Header Text <-- prevent                               |
|[Button]     <-- allow                                      |
|____________________________________________________________|

Ant's document have onChange method but it doesn't cater to an click event (which I could prevent to not make Collapse exapnd). How to restrict and allow some elements on that header to allow/prevent this collapsible behaviour?

Code Sandbox: https://codesandbox.io/s/hopeful-payne-ezpdn

Share Improve this question edited Mar 24, 2020 at 11:01 Sujit Y. Kulkarni asked Mar 24, 2020 at 10:09 Sujit Y. KulkarniSujit Y. Kulkarni 1,3864 gold badges24 silver badges40 bronze badges 7
  • Can you add codesandbox of what you trying to achieve? – Dennis Vash Commented Mar 24, 2020 at 10:35
  • The document demo would be good enough to let others have a try – keikai Commented Mar 24, 2020 at 10:42
  • I have added the link. You can see panel exapnds/collapses on clicking anywhere on the header, which I want to restrict to the Button only. – Sujit Y. Kulkarni Commented Mar 24, 2020 at 11:02
  • You can't, its not supported tey – Dennis Vash Commented Mar 24, 2020 at 17:40
  • Of course. I am wondering what could be the possible workarounds, until Ant officially es up with something that caters this requirement. – Sujit Y. Kulkarni Commented Mar 25, 2020 at 6:58
 |  Show 2 more ments

1 Answer 1

Reset to default 14

Change your header node to this:

const panelHeader = (
  <React.Fragment>
    <Row onClick={event => event.stopPropagation()}><Col><Typography.Text>Header</Typography.Text></Col></Row>
    <Button>Expand</Button>
  </React.Fragment>
)

Your panel node should be:

<Panel showArrow={false} header={panelHeader} key="1">
      <p>{text}</p>
</Panel>

and add this Css to your styles:

.ant-collapse > .ant-collapse-item > .ant-collapse-header {
   padding: 0 !important;
}

.ant-btn {
   position: absolute;
   left: 15px;
   bottom: 15px;
}

.ant-typography {
   display: block;
   height: 80px;
   margin-left: 15px;
   margin-top: 15px;
}

You should add your arrow icon node in Row that has stopPropagation method.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论