列表选择框
该组件提供待选值列表,开发者可以配置列表值的内容,和默认选中值。当选择后返回选择的值给回调函数。
属性 | 值 | 备注 |
---|---|---|
type | WidgetSelect | |
name | 属性名,可以自定义,不要超过4个字,否则会折行。 | |
callback | string/object | 可以直接配置回调函数名或一个对象。 当配置callback为回调函数名时,回调函数会接收一个返回值。格式:{ngvModel:"hour"} 当配置为对象时,具体用法请看尺寸组件下面的callback配置为object |
customInput | object | 可以配置如参值 |
callback返回值
callback的返回值,可开发者提供的待选值列表的数据格式有观。
假如提供的待选值数组如下:
[{ "lable": "无", "value":false },{ "lable": "标准", "value": true },{ "lable": "小时", "value": 123 },{ "lable": "星期", "value": "week"},]选择第一项的时候callback的返回值:{"ngvModel":false}
选择第二项的时候callback的返回值:{"ngvModel":true}
选择第三项的时候callback的返回值:{"ngvModel":123}
选择第四项的时候callback的返回值:{"ngvModel":"week"}
customInput下可以配置的属性:
属性 | 类型 | 值 | 备注 |
---|---|---|---|
ngvModel | any | 默认数值,上例中所示,假如要将“星期”作为默认待选值,这里可以设置为"week" | |
labelName | String | 展示值的属性名,如上例中的“lable” | |
valueName | String | 实际值的属性名,如上例中的“value” | |
ngvHeight | String | 下拉列表的高度值,如:“100px" | |
ngvSelects | Array | 待选值列表,为数组,如果需要后端请求,这里可以为一个空数组。 |
例如:
main.js:
待选值列表后端请求
有些待选值列表可能需要调用后端请求,此时可以不在ngvSelects中配置待选值。
在main.js中增加调用后端请求的方法,下面的示例中通过setTimeout来模拟请求后端接口所产生的异步。
上述代码中我们在return 对象中增加了$eventDispatch
属性,并把window.services.$eventDispatch
这个服务赋值给了$eventDispatch
$eventDispatch
是云视界内部的事件订阅服务,想用这个服务,必须在config.json下的services下增加配置:
然后我们增加了requestData方法,来模拟http请求。在初始化钩子函数onInit中调用这个方法。
this.properties.config.customAttributes.pro[0].customInput.ngvSelects=data;
这一句是查找到在properties下存储的属性栏配置文件,给对应的属性赋值。
this.properties.config.customAttributes.pro对应的就是config.json下customAttributes.pro。
这里的pro[0]
是当前下拉框在customAttributes.pro中的序号。
下面的代码就是在告诉云视界需要对这个属性栏组件的ngvSelects属性做入参更新
params.pro是当前操作的属性栏组件的配置
params.key是操作的是组件的属性
params.index是当前属性栏在customAttributes.pro的序号。
AttributesUpdate:_#visroot#_
是更新事件的事件名。 该更新方法可以通过$customService下的updateRightBarWidgetData达到同样的效果,