ReactJs - 列出垂直线的视图.怎么画这个?

Shu*_*ham 0 user-interface listview reactjs react-redux

在此输入图像描述

如上图所示,有一条垂直线链接列表中的每个数字(1,2,3 ...).我们如何在反应中实现这一点?

Ori*_*ori 5

您可以使用CSS 渲染一个简单的列表(ullis)Array.map(),并使用CSS计数器和伪元素进行编号:

const data = [1, 2, 3, 4, 5, 6];

const Demo = ({ items }) => (
  <ul>
    {
      items.map(key => (
        <li key={key}>item{key}</li>
      ))
    }
  </ul>
);

ReactDOM.render(
  <Demo items={data} />,
  demo
);
  
Run Code Online (Sandbox Code Playgroud)
ul {
  counter-reset: list;
  border-left: 2px solid lightgrey;
  margin: 1em;
  padding: 0;
}

ul li {
  list-style: none;
  margin: 0 0 0.5em 0;
  padding: 0;
}

ul li:before {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin: 0 0.5em 0 -0.65em;
  border-radius: 50%;  
  content: counter(list);
  text-align: center;
  background: lightgrey;
  counter-increment: list;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="demo"></div>
Run Code Online (Sandbox Code Playgroud)