我正在努力使实体样式按照我希望使用 Draft-js 的方式工作。我通过选择自动完成组件中的项目将样式实体添加到我的输入中。当我选择一个时,它可以工作,但插入符号会留在实体内,直到我添加另一个字符。有没有办法在实际实体之后移动插入符号而不添加空格?
我正在使用一个名为 的库draft-js-autocomplete
,如有必要,我不介意提出拉取请求。
为了显示:
我正在努力使实体样式按照我希望使用 Draft-js 的方式工作。我通过选择自动完成组件中的项目将样式实体添加到我的输入中。当我选择一个时,它可以工作,但插入符号会留在实体内,直到我添加另一个字符。有没有办法在实际实体之后移动插入符号而不添加空格?
我正在使用一个名为 的库draft-js-autocomplete
,如有必要,我不介意提出拉取请求。
为了显示:
您必须在此处添加一个空字符。
const newContentState = Modifier.insertText(
contentStateWithEntity,
currentSelection,
`...` + '\u200A',
null,
entityKey);
此外,您将不得不调整您的策略如下:
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)
);
}