bricks/docs/cn.old/widgetid.md
2025-11-19 12:30:39 +08:00

61 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 控件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事件处理定义中说明的参数中