如何手动显示 ui.combo 弹出窗口?
How to show ui.combo popup manually?
我正在尝试以编程方式打开 Webix 组合控件的弹出窗口,但我无法克服三个问题。
这是代表他们的snippet:
- 弹出列表扩展到表单容器的宽度(可能当前
combo.$view
是打开弹出窗口的错误目标)
仅在初始状态(我的意思是用户操作尚未打开弹出窗口)
- 忽略初始值
- 无法从打开的弹出窗口中选择新值
这是组合和按钮的代码:
{
view:"combo",
inputWidth:350,
id:"mycombo",
value:1,
options:list_data
},
{
view:"button",
value:"show popup",
click:function(){
var combo = $$("mycombo");
var list = combo.getList();
list.show( combo.$view ); // probably wrong
}
}
不幸的是,我不知道我做错了什么(或者根本不可能)。提前致谢。
找到了! list.show( combo.$view )
写法真是麻烦。在下面的代码中
var combo = $$("mycombo");
var list = combo.getList();
list.show(combo.getInputNode());
show(combo.getInputNode())
解决了三个问题中的两个。尽管如此,我仍然不知道如何使 visual 选择最初起作用,但就目前而言,这没什么大不了的。
我正在尝试以编程方式打开 Webix 组合控件的弹出窗口,但我无法克服三个问题。
这是代表他们的snippet:
- 弹出列表扩展到表单容器的宽度(可能当前
combo.$view
是打开弹出窗口的错误目标)
仅在初始状态(我的意思是用户操作尚未打开弹出窗口)
- 忽略初始值
- 无法从打开的弹出窗口中选择新值
这是组合和按钮的代码:
{
view:"combo",
inputWidth:350,
id:"mycombo",
value:1,
options:list_data
},
{
view:"button",
value:"show popup",
click:function(){
var combo = $$("mycombo");
var list = combo.getList();
list.show( combo.$view ); // probably wrong
}
}
不幸的是,我不知道我做错了什么(或者根本不可能)。提前致谢。
找到了! list.show( combo.$view )
写法真是麻烦。在下面的代码中
var combo = $$("mycombo");
var list = combo.getList();
list.show(combo.getInputNode());
show(combo.getInputNode())
解决了三个问题中的两个。尽管如此,我仍然不知道如何使 visual 选择最初起作用,但就目前而言,这没什么大不了的。