Or other widgets
class BaseClass(param.Parameterized):
string_value = param.String(default="str", doc="A string")
pn.Row(BaseClass())
Or other widgets
class BaseClass(param.Parameterized):
string_value = param.String(default="str", doc="A string")
pn.Row(BaseClass())
I tried doing this:
class BaseClass(param.Parameterized):
string_value = param.ObjectSelector(default='China', objects=['China', 'Thailand', 'Japan'])
pn.Param(
BaseClass.param, widgets={
'string_value': pn.widgets.AutocompleteInput,
}
)
But
~/anaconda3/lib/python3.7/site-packages/param/__init__.py in _validate(self, val)
1374
1375 if not isinstance(val, list):
-> 1376 raise ValueError("List '%s' must be a list."%(self.name))
1377
1378 if self.bounds is not None:
ValueError: List 'options' must be a list.
Hi @ahuang11
I tried to develop a working version but could not either. I’ve filed a bug here https://github.com/holoviz/panel/issues/1460
without modifying panel this should work
OBJECTS = ["China", "Thailand", "Japan"]
class App(param.Parameterized):
string_value = param.String(default="China")
app = App()
pn.Column(
pn.Param(app, widgets={"string_value": {"type": pn.widgets.AutocompleteInput, "options": OBJECTS}}), height=500
)