在草稿js中选择后实体内的光标

Gui*_*adi 6 javascript reactjs draftjs styled-components draft-js-plugins

我正在努力使实体样式以我希望使用draft-js的方式工作。我通过在自动完成组件中选择项目来将样式化的实体添加到输入中。当我选择一个时,它会起作用,但插入符号会留在实体中,直到我添加另一个角色为止。有没有一种方法可以将插入符号移动到实际实体之后而不添加空格?

我正在使用一个名为的库draft-js-autocomplete,如果需要的话,我不介意发出请求请求。

为了显示:

自动完成选择 选择之后

小智 0

您必须在此处添加一个空字符。

 const newContentState = Modifier.insertText(
contentStateWithEntity,
currentSelection,
`...` + '\u200A',
null,
entityKey);
Run Code Online (Sandbox Code Playgroud)

此外,您还必须调整您的策略,如下所示:

    function placeholderFieldStrategy(contentBlock, callback, contentState) {
  contentBlock.findEntityRanges(
    (character) => {
      const entityKey = character.getEntity();
      return (
        entityKey !== null &&
        contentState.getEntity(entityKey).getType() === 'PLACEHOLDER_FIELD'
      );
    },
    (start, end) => callback(start, end - 1)
  );
}
Run Code Online (Sandbox Code Playgroud)