如何在SilverStripe的管理区域中自定义组件?

问题描述 投票:1回答:1

我正在尝试与此tutorial一起使用。

问题是Injector API与本教程中使用的API略有不同。不需要导入Injector,并且可以在某些属性下找到许多方法(例如Injector.default.transform和Injector.default.component.transform)。

我尝试过:

Injector.default.component.transform('character-count-transform', (updater) => { updater('TextField', CharacterCounter); });

我在控制台中没有收到任何错误,但TextField保持不变。

injector repository甚至提到只有一些文档适用于此版本。

reactjs webpack silverstripe silverstripe-4
1个回答
2
投票

教程中的代码是正确的

Injector.transform('character-count-transform', (updater) => {
  updater.component('TextField', CharacterCounter);
});

但是如果您在Pages admin中查看TextField,您将不会看到react组件,因为该部分尚未“被激活”。在“文件”管理员(上载文件)中查看图像的详细信息表单,文本字段应呈现已更新的组件。我仍在弄清楚如何使其在Page admin部分中起作用,但是我最初的猜测是将TextField子类化,并在该类中提供一些react-y的东西。 dnadesign/silverstripe-elemental一些想法

© www.soinside.com 2019 - 2024. All rights reserved.