bricks/docs/cn/descjson.md

79 lines
3.4 KiB
Markdown
Raw Normal View History

2023-12-18 18:15:22 +08:00
# 创建控件的Json文件格式说明
2024-05-13 12:47:08 +08:00
Bricks在服务器端使用Json文件格式存储控件描述文件前端获得json文件后转化为json对象并用此json对象调用widgetBuild函数创建Bricks控件。
2023-12-18 18:15:22 +08:00
控件描述json文件必须含有“widgettype” 和”options“两个属性。“subwidgets”属性用来定义此控件包含的子控件。“binds”用于定义此控件或其子控件的事件处理
## widgettype说明
widgettype是一个字符串属性。其值为Bricks中的所有控件类型或"urlwidget"
2024-05-13 12:47:08 +08:00
可用的控件类型可以在[控件类型清单](widgets.md)中查找
2023-12-18 18:15:22 +08:00
## options
对象类型每个控件有特定的options属性清参看每个控件的说明
## subwidgets
数组类型数组中的每个元素必须是一个对象类型数据与desc作用一样。
参见widgetBuild函数的desc说明
## binds
一个数组,在控件上定义一到多个事件绑定,数组中的每一个元素定义一个绑定,
Bricks支持5种数据绑定
每种绑定类型都支持下述属性
### wid
字符串类型或控件类型绑定事件的控件缺省是binds坐在的构造控件。
### event
字符串类型,事件名称, 绑定针对的事件字符串名称
### actiontype
绑定类型支持“urlwidget", "method", "script", "registerfunction", "event"
### conform
对象类型确认控件的options如存在则此绑定需要用户确认后再执行
### 获取实时数据作为参数
绑定任务获取实时数据作为参数,需要给定以下属性:
* datawidget字符串或控件类型获取实时数据的控件
* datamethod字符串类型控件的方法使用params作为参数调用
获取实时数据的方法
* datascript字符串类型 js脚本使用return返回数据
* dataparams参数
datamethod 优先datascript从datawidget控件中通过datamethod
### target
字符串或控件实例目标控件实例如果是字符串使用”getWidgetById“函数获得目标控件实例
### urlwidget绑定
urlwidget绑定需要一个options属性和一个mode属性在此属性中需要
* url字符串类型 获取desc数据的url
* mehtod字符串类型url调用的方法缺省”GET“
* params对象类型调用的参数
绑定创建的控件添加到target控件中
### method
需要指定target参数和method参数
* target类型为字符串或控件类型
如果是字符串使用“getWidgetById”函数获取控件实例。
* method字符串target实例的方法
* params传递给方法的参数
method绑定方法将事件绑定到target控件的一个方法并用params传递参数
### script
绑定脚本,此方法将事件绑定到一个脚本,支持以下属性
* script字符串脚本正文
* params对象类型脚本可以访问params变量来获取参数。
### registerfunction
事件绑定一个注册函数, 参看[RegisterFunction](registerfunction.md)
支持以下属性:
rfname字符串已注册的函数名称
params对象类型调用注册函数时作为参数传递给注册函数。
### event
绑定事件需指定target触发target对象的一个事件
支持以下属性
dispatch_event需触发的事件名
params传递给事件的参数处理函数可以使用evemt.params获得此参数
作为参数调用target实例的方法