Eureka 内联选择器行 select 第一行

Eureka inline picker row select first row

当我展开 PickerInlineRow 时,我希望能够 select 第一个选项。对于只有一个选项的情况,我无法调用 onChange 方法,因此它永远不会被选中。

这是一个hack..但是我select第一行通过设置行值=网络回调中数组中的第一个元素。

  if let row = self.form.rowBy(tag: "Row") as? PickerInlineRow<RowType> {
    row.value = rowTypes.first
    row.reload()
  }

假设您已经创建了数组或对象 让项目 = ["1","2","3","4","5","6"]

<< PickerInlineRow<String>(){
            row in
            row.tag = "inlineRow"
            row.options = items
            row.title = "Tap to select"
            row.displayValueFor = {
                guard let teacherName = [=10=] else {return nil}
                return teacherName.name
            }
            }.onChange({ (row) in
                guard let value = row.value else {return}
                print(value)
                self.selectedTeacher = value
                print("Selected teacher name :\(self.selectedTeacher.name) , ID : \(self.selectedTeacher.id)")
            }).onCellSelection({ (cell, row) in
                row.value = items.first
                row.reload()
            })

Here .onCellSelection is called when user taps on the row so we will get the first value from our array and put the value in row and reload the row .