我试图将值/数据源从不同的按钮传递到CC2的子CC1。
我有:
- 根
- CC1
- 名为"测试"的按钮
- 具有自定义属性"stringDataSrc"的 cc2
- 名为"showValue"的计算字段
- 名为"showValue"的计算字段
- CC1
计算字段"showValue"显示stringDataSrc的值。
按钮 "test" SSJS 代码: getComponent(cc2).getAttributes().size() 返回 0。
如何使用 onclick 事件从"测试"按钮更改 cc2 的自定义属性值?
如果我正确解释了您的目标,那么您正在寻找的方法getPropertyMap
:
getComponent("cc2").getPropertyMap().put("stringDataSrc", newValue);
这应更新该自定义控件中引用的属性值(通过 compositeData
)以返回新值。
当前缺乏上面的代码而做出一些假设。
在 cc2 中,您实际上无法更改自定义属性,因为它是从包含的 cc1 传入的。因此,您需要做的是让按钮更改传入 cc2 的值,然后刷新 cc2。
例如,您需要使用<xc:cc2 customProperty="#{dataSource.value}">
而不是<xc:cc2 customProperty="Hello">
然后,您的按钮可以更新数据源值并刷新 cc2。
您还可以通过compositeData.customProperty
最轻松地检索属性值