Home > SCH_Event > addPrimitiveEventListener
SCH_Event.addPrimitiveEventListener() method
This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Add a primitive event listener
Signature
typescript
function addPrimitiveEventListener(
id: string,
eventType: 'all' | ESCH_PrimitiveEventType,
callFn: (
eventType: ESCH_PrimitiveEventType,
props: { primitiveIds: string[] },
) => void | Promise<void>,
onlyOnce?: boolean,
): void;1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Parameters
Parameter | Type | Description |
|---|---|---|
id | string | Event ID, used to prevent duplicate event registration |
eventType | 'all' | ESCH_PrimitiveEventType | Event type |
callFn | (eventType: ESCH_PrimitiveEventType, props: { primitiveIds: string[] }) => void | Promise<void> | The callback function triggered when the event fires |
onlyOnce | boolean | (Optional) Whether to listen only once |
Returns
void
Remarks
Note: This API is only valid for extensions. Calling it in a standalone script environment will always throw Error
Example
javascript
const listenerId = '嘉立创示例_sch_primitive_event';
// 1. 注册图元事件监听,eventType 用 'all' 接收全部图元事件
eda.sch_Event.addPrimitiveEventListener(
listenerId,
'all',
(eventType, props) => {
// 回调在画布图元变化时触发
console.log('primitiveEvent:', eventType, JSON.stringify(props?.primitiveIds));
},
false
);
// 2. 回读确认注册成功
const registered = eda.sch_Event.isEventListenerAlreadyExist(listenerId);
console.log('registered:', registered);
// 3. 清理监听
const removed = eda.sch_Event.removeEventListener(listenerId);
console.log('removed:', removed);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20