javascript - 在 React 中的表上创建可扩展行的简单方法是什么?

标签 javascript reactjs reactstrap

我尝试查找此内容,但没有找到任何内容,但出现的库对于如此简单的任务来说有点大。我很好奇你们中是否有人知道表行的 onclick 事件的简单方法,它将展开并显示有关该行的信息?

最佳答案

它可能没有在任何库中得到解释,因为它确实非常简单。仅在切换行时显示您感兴趣的信息。在您的数据源中,您需要为每个可扩展行设置一个标志。

const [rows, setRows] = useState([
  { ...rowContent, isExpanded: false }
]);

之后,在将行映射到内容并呈现它们的 UI 中,您需要显示一个 UI 元素,该元素将切换行的 isExpanded 状态,或者只是在单击时切换它,逻辑是一样的。

<div className="row" onClick={() => {
  setRows(rows => {
    const newRows = [...rows];
    newRows[rowIndex].isExpanded = !newRows[rowIndex].isExpanded;
    return newRows;
  });
}>
  {...shortRowContent}
  {rows[rowIndex].isExpanded && (
    {...fullRowContent}
  )}
</div>

关于javascript - 在 React 中的表上创建可扩展行的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58202689/

相关文章:

node.js - React 无法编译reactLifecyclesCompat 错误

javascript - R 和 Javascript 回调

javascript - 如何将多个 id 数组对象合二为一

javascript - 动态添加新元素 Onclick 时丢失样式

Reactjs:渲染路由器的 Prop 不起作用

css - 散列后如何定位 CSS 模块类?

javascript - 有没有办法通过添加带有情感的元素来增加特异性?

javascript - React 按钮单选 this.setState 不是一个函数

javascript - 无法从 react-router-modal 访问历史记录

javascript - 如何比较过滤器的两个对象数组