我使用Vaadin 8 NativeSelect
作为下拉菜单供用户进行选择。每个选择都指向一个保存多个数据的对象实例,我只希望下拉列表显示与该对象中单个变量有关的识别信息,但是NativeSelect
似乎无法在一个对象中单独处理Model和Presentation。明显的方法。
data class Consultant(
val name: String,
val id: Long
)
val consultantSelection = NativeSelect<Consultant>().apply {
setItems(consultantDao.getAll())
caption = "Select Consultant"
}
在我的代码中,我创建一个
NativeSelect
来处理一种Consultant
,然后创建一个下拉菜单,该菜单简单地将各个Consultant
对象的内容解压缩为每个可选对象。我只想在选择中显示name
的Consultant
。有没有办法做到这一点?
最佳答案
您必须为此提供 setItemCaptionGenerator
。否则,Vaadin将退回到.toString()
实现。
在Vaadin Documentation中有一整节关于处理相关内容的内容