ComboMenu是一个多级选择的下拉菜单。支持一级至最多五级的菜单结构。
可选值数据结构如下:
[ { "value" : "ln", "text" : "辽宁", "children" : [ { "value" : "ln-sy", "text" : "沈阳" }, { "value" : "ln-dl", "text" : "大连" }, { "value" : "ln-yk", "text" : "营口", "children" : [ { "value" : "ln-yk-xs", "text" : "西市区" }, { "value" : "ln-yk-zq", "text" : "站前区" } ] } ] }, { "value" : "bj", "text" : "北京", "children" : [ { "value" : "bj-dc", "text" : "东城区" }, { "value" : "bj-xc", "text" : "西城区" }, { "value" : "bj-hd", "text" : "海淀区" }, { "value" : "bj-cy", "text" : "朝阳区" }, { "value" : "bj-ft", "text" : "丰台区" }, { "value" : "bj-sjs", "text" : "石景山区" } ] }, { "value" : "jl", "text" : "吉林", "children" : [ { "value" : "jl-cq", "text" : "长春" }, { "value" : "jl-jl", "text" : "吉林" }, { "value" : "jl-ly", "text" : "辽源" }, { "value" : "jl-sp", "text" : "四平" } ] } ];
属性:
属性名 | 类型 | 说明 | 默认值 |
height | number | 控件的高度(最小高度为27) | 30 |
width | number | 控件的宽度(最小宽度为120) | 190 |
popWidth | number | 除了第一级的下拉菜单,其它下拉菜单的宽。如果不设,会默认与width值相等 | |
showSingleLevel | boolean | 是否只显示选择值的单级值。如果是false,则显示其祖先到本级的值 | true |
hasAllData | boolean | 是否添加所有数据可以选择的条目,如果设置为true,在下拉里的第一级的第一行会有一个“全部数据”的选项 | false |
joinStr | string | 搜索功能后,父子级之间的连接字符 | " > " |
title | string | 左边标签内容 | |
useSearch | boolean | 是否用搜索功能 | true |
addParentAndLevel | boolean | 是否需要控件来添加parent和level属性。默认为true。如果数据已经有parent和level属性了,可设置为false。(除非调用函数中真的已经有parent和level属性的处理,否则,请设为false,该属性主要为了优化一点性能) | true |
事件:
事件名 | 参数 | 描述 |
onShow | none | 当下拉菜单poplist显示时触发。 |
onHide | none | 当下拉菜单poplist隐藏时触发。 |
onClick | none | 点击时触发 |
onChanged | none | 当选择的值变化时触发。如果两次选择的object的value值一样,则不会触发。该事件可以拦截,如果返回false,可以阻止该事件。 |
方法:
方法名 | 参数 | 描述 |
getValue | none | 取得当前控件的选择值。该值为一个json对象,有五个属性: value,text,children,level,parent。 如果setData的数据没有level和parent两个属性,控件会自动加上。 |
setValue | object | 设置控件的选择值。控件会选择value与该parameter相等的第一条记录。 |
setData | Array | 给控件设置可选值。该parameter是一个json对象的二维数组。 |
getOptions | none | 取得options |
hideCombo | none | 收起comboMenu。 |