SwiftUI 的 List 视图具有增强的初始化程序,可让我们使用子元素创建展开的部分-它们将通过可点击的箭头进行渲染,并在点按时可打开以显示子元素。

要使用这种形式的 List,您需要具有精确形式的数据:您的数据模型应具有一个可选的具有相同类型的子级数组,因此您可以创建树。 通常,您很可能会从 JSON 或类似格式加载此类内容,但为了使操作简单起见,我将粘贴一些硬编码的数据,以便您查看其外观。

放置好数据后,您可以通过传递数据数组以及子代位置的键路径(在我们的情况下为 \.items)将其加载到列表中。 然后,您将获得常规关闭方式,可以像通常一样提供行数据。

提示:这只是占位符数据,因此我多次重复了相同的书签,但希望您能理解。

该代码运行时,您会看到我们的网上论坛的三行,以及可折叠起来以显示其子项的披露指标。