Trait 的“setValue()”方法在值变更时不会被调用
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome最新款 可复制演示链接 https://codesandbox.io/p/sandbox/withered-rgb-xmw8gk 描述一下那个虫子 如何复现这个漏洞?开放代码沙盒选择“body”(类型:“wrapper”)——观察从自定义源获取值的警报(调用 trait.getValue()尝试更改值(特质:自定义,唯一存在的)——注意“setValue()”未被调用,因为没有显示警报 预期的行为是什么? 会显示“将全局值设置为” + 值的提醒 目前的行为是什么? 未显示警报, trait.setValue() 方法未被调用。...
padcom
谢谢!我确认过了,一切正常!
padcom
据我所见,当“Trait.setValue()”值来自输入时不会被调用。取而代之的是调用“setTargetValue()”,但该程序不会检查特征定义中的“setValue()”方法是否存在。另外,'Trait.setValue()' 检查属性中的 'setValue' 键,而 'Trait.getValue()' 通过 'this.get('getValue')' 获得其自定义 getter (Trait.ts:303)
padcom
我尝试按照[这个](https://github.com/GrapesJS/grapesjs/discussions/5793)讨论来让它工作,但正如你在沙盒中看到的,它就是不行。