AFAIKCellWidgets
不提供支持开箱即用的动态列表的单元格类型。
但是,您可以通过自己派生AbstractCell
和实现功能来实现自己的自定义单元。有关更多信息,请参阅 GWT 文档。
我会尽量避免从自定义单元格内部进行后端调用。如果可能,请尝试在 DTO 中添加可用类型的列表,然后从render
方法中访问该属性。这些方面的东西:
public class DynamicSelectionCell extends AbstractCell<MyDTO> {
@Override
public void render(Context context, MyDTO value, SafeHtmlBuilder sb) {
if (value == null) {
return;
}
// render a selectionbox and dynamically add options by accessing the value.getAvailablOptions()
}
}
向您的对象添加一个 getter,MyDTO
该对象返回特定记录的可用类型(Honda 等),并且在渲染方法中您只需创建一个选择框。
您可以查看SelectionCell如何正确呈现它的代码。
关于您必须实施的事件处理onBrowserEvent
。有关更多详细信息,请参见此处。