簡體   English   中英

React Router Link 中的復選框

[英]Checkbox inside React Router Link

我正在 React 中構建實體列表。 每個實體都包含在一個鏈接中並重定向到一個頁面。 在每個實體的鏈接內有一個復選框和一個打開下拉菜單的按鈕:

<ul>
  <li>
    <Link to={url}>
      <label>
        <input type="checkbox" />
      </label>
      <h3>Entity name</h3>
      <time datetime="">2019-09-21</time>
      <button type="button">Dropdown</button>
    </Link>
  </li>
</ul>

如果用戶單擊復選框或下拉按鈕,則不應重定向到頁面,而是執行其他操作。

問題 1:使用示例中的錨標記是否可行? 我不想使用onClick處理程序。

問題2: Link里面的checkbox不能切換, 看這個例子 這是為什么?

從該示例鏈接中,將鏈接移動到僅圍繞文本看起來完全相同,但可以提供您想要的內容。

      <label style={{ display: "block" }}>
        <input type="checkbox" />
        <Link to="/">Inside the link</Link>
      </label>

在可檢查區域內設置復選框聽起來不是很好的用戶體驗 - 用戶可能希望外部區域選中該復選框

我發現如果我使用onClick 、 React statestopPropogation ,它就達到了你描述的效果。

<Link>
  <input
    checked={this.state.checked}
    type="checkbox"
    onClick={(e) => {
      e.stopPropagation();
      this.setState({ checked: !this.state.checked });
    }}
  />
</Link>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM