gpt4 book ai didi

javascript - 基金会 Accordion 无法在 React 中工作

转载 作者:行者123 更新时间:2023-12-03 00:01:55 26 4
gpt4 key购买 nike

我在我的 react 组件中使用基础 Accordion 。

因此,如果让组件呈现静态 HTML,则此代码可以工作,但是,如果我通过循环执行此操作,则 Accordion 不可单击。

UL react 代码:

return (
<ul className="accordion" data-accordion data-allow-all-closed>
this.state.test.map((data,index) => {
return (<LI id={data.ID} value={data.Intro} />)
}
</ul>
)

LI代码

return (
<li className="accordion-item" data-accordion-item key={this.props.id}>
<a href="#" className="accordion-title">{this.props.value}</a>
<div className="accordion-content" data-tab-content>
<strong>{this.props.value}</strong>
<p>Test</p>
</div>
</li>
)

组件DidMount

new Accordion($(".accordion"), {
slideSpeed: 500,
multiExpand: true
});
fetch("URL")
.then(res => res.json())
.then(
(result) => {
this.setState ({
isLoaded: true,
items : [
{ ID: 1, Intro: "Label sdf1" },
{ ID: 2, Intro: "Label 2" },
{ ID: 3, Intro: "Label 3" }
]
})
},
(error) => {
this.setState({
isLoaded: true,
error
});
}
)

构造函数

构造函数( Prop ){

     super(props);
this.state = {
alerts:[],
items:[],

}

}

我已经编辑了@Pavelcode here复制我的问题

最佳答案

您的LI组件已破坏标记,<a>没有结束标签。

enter image description here

应该是<a href="#" className="accordion-title">{this.props.value}</a> .

编辑:

解决方案位于此沙箱中:https://codesandbox.io/s/m76m5376ly?fontsize=14

请注意,与 React 一起使用时,Foundation 必须以文档中描述的多种方式之一进行初始化。在此示例中,我使用了 componentDidMount初始化 Accordion 。

关于javascript - 基金会 Accordion 无法在 React 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55131495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com