【问题标题】:why draftInlineStyleType in draft.js only can be default type?为什么draft.js中的draftInlineStyleType只能是默认类型?
【发布时间】:2022-10-21 14:14:42
【问题描述】:

我定义了 editorStyleMap 并使用它们

const editorStyleMap = { Choose: { color: '#4880f0' }, Black: { color: '#000000' } }

然后我得到了 inlineStyleRanges 的数组

const messageBlocks=convertToRaw(editorState.getCurrentContent()).blocks[0].inlineStyleRanges;

我控制台数组的每个项目,结果如下, 项目的样式可以是“选择”或“黑色”

{偏移量:3,长度:3,样式:'选择'} {偏移量:6,长度:5,样式: '黑色'} {偏移量:11,长度:3,样式:'选择'} {偏移量:14,长度: 1、款式:'黑色'}

但是当我想用 if 来判断样式的类型时

if(item.style==='Choose')

终端报错

'此条件将始终返回'false',因为类型 'DraftInlineStyleType' 和 '"Choose"' 没有重叠。

似乎 styleType 只能是默认类型'大胆的''斜体'.

我不知道为什么???如果你能帮助我,我将不胜感激:)

【问题讨论】:

    标签: draftjs


    【解决方案1】:

    我用一种奇怪的方式来解决问题。 只需使用细绳()将 item.style 转换为字符串类型的方法,字符串可以是您定义的任何内容

    if(String(item.style)==='Choose')
    

    终端不报错

    【讨论】:

      猜你喜欢
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多