还需要回到ContentView文件,对使用NewView视图中声明的双向绑定的models进行绑定,如下图所示:
最后我们还需要回到NewView视图中,实现添加身份卡的方法,如下代码所示:
let newItem = Model(platformIcon: platformIcon, title: title, platformName: platformName, indexURL: indexURL) models.append(newItem)
上述代码中,我们在点击addBtn添加按钮时,实现添加身份卡的方法,首先先声明一个常量newItem存放符合Model数据模型的数据,并将数据模型的对应的值填充为我们在NewView声明的变量(由于采用一样的命名,因此就有了上面的效果),然后调用append的方法将符合数据模型的数据添加到models数组中。
此时我们就可以删除NewView中声明的变量的默认值,让用户自定定义填充,如下代码所示:
@State var title: String = "" @State var indexURL: String = ""
同时我们也可以删除在ContentView中models数组的默认值,让我们自己操作创建数据,如下代码所示:
@State var models:[Model] = []
整体预览
接下来,让我们在模拟器中操作电子名片App的全路径,如下图所示:
本章小结
在本章中,我们学习了如何搭建“添加身份卡”页面,包含输入框基础控件的使用,多行文本框基础控件的使用。
本章的核心内容是自定义选择器的创建,我们使用ScrollView滚动视图容器、LazyVGrid垂直网格容器搭建了选择器,并实现了单选的功能。最后我们通过双向绑定视图数组数据的方式,实现了添加身份卡到个人主页的方法。
在本章的例子中,其实可以运用到其他App案例中,最常见的示例:todo待办事项和note笔记。
下面的章节中,我们来继续学习点击身份卡片在App打开浏览器并访问链接地址的功能及其他相关操作,请保持期待吧~