更改列表项目符号的样式

Change style of list's bullet

我有一个 draft-js 组件。我可以将样式添加到 StyleMap 中(通过将新对象添加到 customStyleMap 中)。但是,当我有一个选定的列表并更改大小时,它只会更改选定文本的大小——项目符号仍然相同。我知道我可以使用 blockStyleFn={getBlockStyle} 更改块的样式,但这里我有两个问题:

  1. 据我所知,它只适用于已经定义的 classes - 但我不能对每个尺寸都有 classes。如何动态添加 class?

  2. 我怎样才能让风格脱颖而出?

所以在 getBlockStyle(block) 我必须做这样的事情:

let style = block.getStyleOfContent(); //for example returns fontSize: '16px'
addNewClass('listFontSize16px', style); //add new class
return listFontSize16px;

或任何其他解决方案?

好的,我想通了...

  1. How to create a <style> tag with Javascript

  2. getBlockStyle(block) 块中包含一个密钥。感谢密钥,我可以在 editorState 的内容中找到相同的密钥,并且有样式。

这不是最好的解决方案,但效果很好。