更改列表子弹的样式

时间:2018-02-14 20:19:08

标签: reactjs draftjs

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

  1. 据我所知,它只适用于已定义的类 - 但我不能为每个大小都有类。如何动态添加课程?

  2. 我怎样才能摆脱障碍?

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

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

    或其他任何解决方案?

1 个答案:

答案 0 :(得分:0)

好的,我明白了......

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

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

  3. 这不是最好的解决方案,但效果还不错。