如何在多行中显示嵌套标签?
How to display nested labels in multiple lines?
我已经尝试使用 map 方法,就像我在研究如何做到这一点时看到的那样,但当我有如下结构时,它似乎不是使用的方法:
const stepLabels = [
{ labels1: ['First One'] },
{ labels2: ['Second One', 'second One'] },
{ labels3: ['Third One', 'Third One', 'Third One'] }
];
我正在使用 Material UI 步进器尝试呈现下面的步骤标签
<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
Third One
我已经尝试解决这个问题一个小时了,但似乎找不到答案。
这样做真的很费解,因为我确实知道如何使用 map 方法,但是这个结构有点让人费解。我已经试错了,每次都会遇到不同的错误。比如有些东西没有定义等等
如果要迭代并对其执行某些操作,则需要在列表的所有元素中使用相同的 属性 名称。您的代码:
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>
我已经尝试使用 map 方法,就像我在研究如何做到这一点时看到的那样,但当我有如下结构时,它似乎不是使用的方法:
const stepLabels = [
{ labels1: ['First One'] },
{ labels2: ['Second One', 'second One'] },
{ labels3: ['Third One', 'Third One', 'Third One'] }
];
我正在使用 Material UI 步进器尝试呈现下面的步骤标签
<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
Third One
我已经尝试解决这个问题一个小时了,但似乎找不到答案。
这样做真的很费解,因为我确实知道如何使用 map 方法,但是这个结构有点让人费解。我已经试错了,每次都会遇到不同的错误。比如有些东西没有定义等等
如果要迭代并对其执行某些操作,则需要在列表的所有元素中使用相同的 属性 名称。您的代码:
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>