You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Material UI List中实现自定义跳号/重编号?

在Material UI List组件中实现自定义编号跳号效果

要实现列表编号跳号(比如序列1,2,5,6...,跳过3、4直接从5开始延续),原生HTML里可以通过给<li>标签设置value属性实现,示例代码如下:

<!DOCTYPE html>
<html>
<body>

<h1>The li value attribute</h1>

<ol>
  <li value="100">Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
  <li value="200">Water</li>
  <li>Juice</li>
  <li>Beer</li>
</ol>

</body>
</html>

这段代码会让列表编号从100开始自动延续;遇到value=200的项时,编号直接跳转到200,之后继续递增。

针对Material UI的List组件,一开始尝试在List的sx属性中设置value无效,查阅ListItem官方API也未找到对应配置项,最终通过直接给ListItem添加value属性,成功实现了自定义重编号效果。

Material UI的实现示例:

import List from '@mui/material/List';
import ListItem from '@mui/material/ListItem';
import ListItemText from '@mui/material/ListItemText';

export default function CustomNumberedList() {
  return (
    <List component="ol">
      <ListItem>
        <ListItemText primary="第一项" />
      </ListItem>
      <ListItem>
        <ListItemText primary="第二项" />
      </ListItem>
      <ListItem value={5}>
        <ListItemText primary="第五项(跳过3、4)" />
      </ListItem>
      <ListItem>
        <ListItemText primary="第六项" />
      </ListItem>
    </List>
  );
}

原理很简单:Material UI的ListItem组件本质是对原生<li>标签的封装,直接传递value属性会被透传到底层DOM元素上,配合List设置component="ol"渲染为有序列表,就能实现和原生HTML一致的编号跳号效果。

内容的提问来源于stack exchange,提问作者EBDS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 04:12:30