表单内的选择器不再选择

Posted

技术标签:

【中文标题】表单内的选择器不再选择【英文标题】:Picker inside of form no longer selecting 【发布时间】:2021-03-14 21:48:25 【问题描述】:

我在表单中有一个选择器。以前它可以正确选择项目,但是,在更改代码以修复另一个问题后,它不再起作用。选择器正在使用的项目是从 coredata 中获取的。我该如何解决这个问题?

@FetchRequest(sortDescriptors: [])
var sources: FetchedResults<Source>
@State private var selectedSource = 0

这是我用于选择器的代码。

Picker(selection: $selectedSource, label: Text("Source")) 
    ForEach(sources, id: \.self)  source in
        Text(source.name!)
            .tag(source)
    

这里是该问题视频的链接。 Video

【问题讨论】:

【参考方案1】:

您在Picker(selection:) 中提供的类型(当前为Int -- selectedSource)需要与您在tag() 中提供的类型相同,当前为Source

例如,您可以使用Source 的ID(我假设它有一个)作为selectedSource,然后在tag() 中使用相同的ID

【讨论】:

谢谢!我使用@State private var selectedSource: Source?Text(source.name!).tag(source as Source?) 让它工作。

以上是关于表单内的选择器不再选择的主要内容,如果未能解决你的问题,请参考以下文章

组件范围内的 CSS 选择器最佳实践 [关闭]

选择器作为弹出框内的输入视图

引导日期选择器的问题

jquery过滤选择器-----------(表单对象属性过滤选择器 与 表单选择器)

[ jquery 表单UI选择器和表单元素属性选择器 ] 表单UI选择器和表单元素属性选择器

嵌套选择器内的与号(父选择器)[重复]