React组件中如何为map循环生成的div元素添加行号?

react组件中如何为map循环生成的div元素添加行号?

给 react 组件创建的 div 行号

要给使用 map 循环创建的 div 添加行号,可以采用以下设计方案:

左侧的索引元素设置绝对定位(absolute),右侧的方块设置相对定位(relative),两者的父元素设置相对定位和溢出隐藏(overflow: hidden)。

代码示例:

index.js

import react from "react";
import reactdom from "react-dom";
import "./styles.css";

function app() {
  const itemdata = new array(500).fill(0);
  const indexdata = new array(20).fill(0);

  return (
    <div classname="app">
      <div classname="left-box">
        {indexdata.map((item, index) => (
          <div
            key={index}
            style={{
              fontsize: "9px",
              width: "19px",
              height: "20px",
              margin: "2px",
            }}
          >
            {index + 1}
          </div>
        ))}
      </div>
      <div classname="right-box">
        {itemdata.map((item, index) => (
          <div
            key={index}
            style={{
              display: "inline-block",
              width: "9px",
              height: "9px",
              margin: "2px",
              backgroundcolor: item.selected ? "green" : "lightgreen",
            }}
          ></div>
        ))}
      </div>
    </div>
  );
}

const rootelement = document.getelementbyid("root");
reactdom.render(<app />, rootelement);

styles.css

.App {
  font-family: sans-serif;
  text-align: center;
  overflow: hidden;
  position: relative;
}

.left-box {
  position: absolute;
  left: 0;
  top: 0;

  width: 19px;
  overflow: hidden;
}

.right-box {
  margin-left: 19px;
}

通过这种设计,可以实现使用 map 循环创建的 div 行号效果。

以上就是React组件中如何为map循环生成的div元素添加行号?的详细内容,更多请关注硕下网其它相关文章!