如何在多行中显示嵌套标签?

Posted

技术标签:

【中文标题】如何在多行中显示嵌套标签?【英文标题】:How to display nested labels in multiple lines? 【发布时间】:2021-12-14 17:08:15 【问题描述】:

我尝试过使用 map 方法,就像我在研究如何做到这一点时看到的那样,但当我有如下结构时,它似乎不是要使用的方法:

const stepLabels = [
   labels1: ['First One'] ,
   labels2: ['Second One', 'second One'] ,
   labels3: ['Third One', 'Third One', 'Third One'] 
];

我正在使用 Material UI Stepper 来尝试渲染下面的步骤标签

<Stepper alternativeLabel activeStep=2 connector=<StepConnector active completed classes= line: classes.connector, active: classes.activeConnector, completed: classes.activeConnector  /> className=classes.stepper>
        steps.map(label => (
          <Step key=label>
            <StepLabel classes= root: classes.stepLabelRoot >
              <span>
                 stepLabels.map(item => item.labels)
              </span>
            </StepLabel>
          </Step>
        ))
      </Stepper>

试图得到这个,在每个节点下方,它将显示标签。所以在第一个节点下面,它会说:

下面会显示第一个节点

First One

Second One 将在第二个节点下方显示两次

Second One
Second One

第三个节点会在第三个节点上显示三次

Third One
Third One
Third One

我已经尝试解决这个问题一个小时,但似乎找不到答案。

这样做真的很令人困惑,因为我确实知道如何使用 map 方法,但是这种结构有点令人困惑。我已经进行了反复试验,每次都会遇到不同的错误。像没有定义的东西等等。

【问题讨论】:

你期望 span 元素的结果是什么? 您希望嵌套数组['Third One', 'Third One', 'Third One']如何显示在步骤标签中? 大家好,我已经更新了帖子以说明我的意思。如果还有什么不清楚的,请告诉我。谢谢! 【参考方案1】:

如果你想迭代并用它做一些事情,你需要在列表的所有元素中使用相同的属性名称。你的代码:

const stepLabels = [
   labels1: ['First One'] ,
   labels2: ['Second One', 'second One'] ,
   labels3: ['Third One', 'Third One', 'Third One'] 
];

应改为:

const stepLabels = [
   labels: ['First One'] ,
   labels: ['Second One', 'second One'] ,
   labels: ['Third One', 'Third One', 'Third One'] 
];

如果要添加换行符,可以添加br元素:

<Stepper alternativeLabel activeStep=2 className=classes.stepper>
  stepLabels.map((label) => (
    <Step key=label>
      <StepLabel classes= root: classes.stepLabelRoot >
        label.labels.map((item) => (
          <>
            item
            <br />
          </>
        ))
      </StepLabel>
    </Step>
  ))
</Stepper>

【讨论】:

假设有1,2,3顺序是否可以使用索引label[labels$index+1] @cmgchess 索引是地图回调的第二个参数:labels.map((item, i) =&gt; labels[`labels$i+1`])

以上是关于如何在多行中显示嵌套标签?的主要内容,如果未能解决你的问题,请参考以下文章

ul标签中嵌套div,div会换行显示,如何让ul和div水平显示在同一行

请问如何在一个iFrame中嵌套并显示另一个iFrame

如何在swift 3中使用imageview嵌套标签

两行带有嵌套 x 变量的轴标签(年份低于月份)

如何在 VBA 中获取标签的内部文本,不包括嵌套标签中的文本?

如何在 Django 模板中嵌套或联合使用两个模板标签?