我希望你能给我一些建议。这是目前的情况:
- nextjs应用程序与材料ui v5使用自定义主题
- 此主题在多个应用程序中使用,因此外观和感觉始终相同
- 我想通过创建者建立调查表,并使用所有可用的功能
调查组件应该看起来像mui元素。我在文档中看到有两种可能的方法:
- 创建一个CustomWidget,它可以很好地工作,例如:
CustomWidgetCollection.Instance.add({
name: 'mui-text-field',
isFit: (question: QuestionTextModel) => question.getType() === 'text',
render: (question: QuestionTextModel) => {
return <FieldString question={question} />;
},
});
字符串
- 或调整主题的CSS
我确实尝试了这两种方法--更改CSS和创建自定义小部件--这两种方法似乎都是压倒性的工作量。
我不知道什么是最好的方法。我认为使用来自mui的组件会很好,所以我的表单会尊重对主题的更改。但是这样我就需要在我的CustomWidget中重建很多函数。文本字段是直接的,不是一个问题,但无线电组例如将是一个更大的事情来解决。但另一方面,重新实现mui的CSS也会很麻烦,因为HTML的结构可能不同。(我猜surveyjs和mui组件的构建方式不同)
| 自定义小部件| custom widget |
| --| ------------ |
| surveyjs功能需要重新实现| surveyjs functionality needs to be reimplemented |
| 将花费大量的实现测试时间| would take a lot of implementation testing time |
有没有人有经验或可以给予我他/她的观点?一切都很感激!
1条答案
按热度按时间cclgggtu1#
本周发布的SurveyJS Creator v1.9.100有the Theme Editor。你可以try it。它允许可视化地自定义所有SurveyJS css变量。也许你将能够通过使用SurveyJS css变量只获得所需的结果。