背景:想给组件增加一个 action 操作获取当前组件的 this 值,用来做数据绑定的时候方便找到具体层级。
想通过 https://lowcode-engine.cn/site/docs/api/material#%E8%AE%BE%E8%AE%A1%E5%99%A8%E8%BE%85%E5%8A%A9%E5%B1%82 时机获取组件 this 值。
material.addBuiltinComponentAction({
name: 'myIconName',
content: {
icon: () => 'x',
title: 'hover title',
action(node) {
console.log('log => ~ action ~ node:', node)
console.log('myIconName 扩展位被点击')
},
},
important: true,
condition: true,
})
目前获取到的 node 如下图:
https://lowcode-engine.cn/site/docs/api/model/node
想要获取的 this 如下,现在都通过console 去调试找数据,很麻烦
大概调试了下,没找到 node 怎么获取到 scope/this
3条答案
按热度按时间7nbnzgx91#
Node 是不是还没渲染,还是一个未运行的组件,所以获取不到 this?那还有更好的方案和时机获取编辑器组件渲染时的this 值么
guykilcj2#
ReactNode 是一个类型,它代表了可以被渲染的东西。这包括 ReactElement(即 JSX 返回的东西),字符串和数字(它们在渲染时会被转换为文本节点),以及数组或片段,它们可以让你返回多个元素。ReactNode 也可以是 null 或 undefined,表示不渲染任何东西。
咱们的 Node 是类似 ReactNode 的吗?所以如果要获取的话应该考虑获取到 node 的 ref 实例后再获取?
hivapdat3#
#1181
类似需求:期望可以通过API同步获取模拟器内 Page / Component 节点的 state 数据,目的是方便开发过程中时刻了解当前的数据值