gpt4 book ai didi

java - 在自动完成文本字段中使用面板而不是字符串

转载 作者:行者123 更新时间:2023-11-29 06:38:54 26 4
gpt4 key购买 nike

我正在使用 Wicket 为网站上的搜索引擎构建用户界面。当用户输入时,结果显示在下拉列表中。因为我有很多不同的对象(每个对象都有不同的显示结构),所以我想定义几个面板。因此,对于在数据库中找到的每个项目,它都会获得正确的面板和正确的结构。因此,例如:如果搜索引擎找到一个用户,它应该只显示姓名。当找到图片时,缩略图和描述等...

现在我正在使用 AutocompleteTextField,但它只接受字符串。我考虑过在字符串中添加 html 并像那样显示它。但由于这不是一个真正干净的解决方案,我正在考虑使用面板。

那么,有人知道如何使用面板而不是 AutoCompleteTextField 中的字符串吗?

最佳答案

创建您自己的组件。使用 ListView,将其放入 WebMarkupContainer。根据 TextField 输入显示 WebMarkupContainer,并在附加到 TextField 的 OnChangeAjaxBehavior 中刷新 ListView。

这样您就可以完全控制自己想要实现的目标。

ListView 的示例代码:

   private ListView getLv(){
ListView lv = new ListView(PANEL, new PropertyModel(this, "someList")) {
@Override
protected void populateItem(ListItem item) {
Integer type = item.getModelObject().getType();
if (type == 1) {
item.add(new PanelType1("panel", item.getModelObject().someIdMaybe));
} else if (type == 2) {
item.add(new PanelType2("panel", item.getModelObject().someIdMaybe));
}
}
};
return lv;
}

关于java - 在自动完成文本字段中使用面板而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15480544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com