在创建要在Shopware的所见即所得编辑器中使用的新CMS元素时,我们有三个组件:一个名为component
,另一个名为configComponent
,第三个名为previewComponent
.
显然,configComponent
用于 Select 元素的配置,而component
组件用于更新编辑器中的视图.例如,显示在配置部分中 Select 的内容.我的问题是,它只会在用户单击保存按钮后更新编辑器中的视图,这会造成糟糕的用户体验-它应该实时更新.
I think I need to somehow 100 an update event当已经从configComponent
中 Select 了实体ID时,然后将所选实体的ID传递给component
组件.
所以,我在component
条小 twig 中有以下几点:
<config-component @entity-picked="entityPickedHandler" />
根据我对文档的解释,当entity-picked
事件从configComponent
发出时,这应该在component
中调用"entityPickedHandler"方法.
例如,这是component
中的事件处理程序方法:
methods: {
entityPickedHandler(data) {
console.log('Event triggered:', data);
}
}
从configComponent
开始,我就会发出事件:
computed: {
myEntity: {
get() {
return this.element.config.entity.value;
},
set(value) {
// this.$set(this.element.data, 'entityId', value);
this.element.config.entity.value = value;
console.log('Trying to emit entity-picked event');
this.$emit('entity-picked', value);
}
}
}
这显然是不起作用的,因为console.log()
in entityPickedHandler
处理程序从未输出.但是,该事件应该正在发出.