我一直在尝试在 Justpy 中创建一个过滤下拉菜单。我一直在使用 QSelect 组件来执行此操作。这里的第二个下拉菜单是我想要构建的。
我可以让下拉菜单使用输入事件来填充和显示我想要的值。我可以通过这种方式手动选择我想要的值。我的问题是当我使用过滤器事件时,下拉列表不再填充。相反,我得到一个旋转的“加载”图标。
这是我的代码:
import justpy as jp
dropdown_items = [123, 456, 789]
def filter_event(self, msg):
# For testing purposes, just update the list of items in the dropdown to what was typed into dropdown
new_items = [msg.value]
self.options = new_items
def filter_test(request):
wp = jp.QuasarPage(dark=True, tailwind=True, title="Filter Test Page")
d1 = jp.QDiv(text="Select a number", classes="q-pa-md text-xl", style="max-width: 600px", a=wp)
dropdown = jp.QSelect(label="Test dropdown", options=dropdown_items, multiple=True, use_input=True, clearable=True, use_chips=True, padding=True, bordered=True, a=d1)
dropdown.on('filter', filter_event)
return wp
jp.justpy(filter_test)
我试过在我的事件处理程序中调用 Quasar 方法,例如:wp.dropdown.run_method(f'filter({msg.value})', msg.websocket)
,但这并没有改变任何东西。我已经尝试过使用不同的事件,填充不同的道具等,但我无法更接近。
也许我需要为 QSelect 组件添加一个模型,但我真的不知道那会是什么样子。
我想我错过了一些非常简单的东西。我对 JavaScript 没有任何经验,因此找到解决方案非常困难。非常感谢任何能让我更接近解决方案的提示或指导。谢谢你。