bricks/docs/cn/widgetid.md

61 lines
2.2 KiB
Markdown
Raw Normal View History

2024-05-13 15:11:50 +08:00
# 控件ID
在控件描述文件中我们可以使用“id“属性能设置控件的id 这个id会设置到控件对应的dom元素上
## 控件ID的作用
像DOM体系bricks使用控件ID用🐟标识控件不一定要求唯一但在使用时通常只会使用找到的一个控件
bricks的事件处理依赖控件id来确认事件的发起控件 事件的目标控件以及事件的数据来源控件
## 控件查找开始位置
从binds区域所在的控件开始查找对于"."号分割的id首先从当前位置查找到第一段id的控件再用上一个找到的控件作为下一段id的开始位置直到最后一段并将最后一段找到的控件作为最终控件返回。如果任何一个位置的id没找到对应的控件返回空。
## 控件ID书写规则
bricks事件处理中的控件ID 通过“."号开分段,标识要分段查找相应的控件。
## 控件查找方向
"-"号开始的id从当前位置向上查找控件
否则从当前位置向下查找
## 预定于的id
预定义的id通常放在"."分割的第一段,用来改变控件查找的开始位置
### app
"app“ bricks.App属性也是Body控件对应于html的<body>元素
### root
bricks前端应用只放一个控件在bricks.Body中所有其他的控件都放在这个root控件之下 "root"ID用于查找这个控件
### self
binds区域所在的控件
## binds区域中和控件ID有关的属性
### wid
字符串属性定义事件发起方的id 缺省为"self"
### target
定义事件处理的控件, 下面对不同的事件处理方式分别说明
#### urlwidget
target控件是此事件生成的子控件的父控件需要是个容器控件
参看[控件表述文件](descjson.md)
#### method
事件的method方法的控件。
#### script
script脚本可用this变量来使用target对应的控件
#### registerfunction
注册函数可以使用this变量来使用target对应的控件
#### event
定义触发事件的控件实体
### datawidget
定义事件的参数来源对象如果找到此控件则通过该控件的datamethod如果定义方法来获取参数或者通过datascript脚本来获取参数
获得的参数将会添加到binds事件处理定义中说明的参数中