DraftJS APIを使用して以下のシナリオを実装する際に問題があります。ここでDraftJSでハイパーリンクの後に空白文字を追加するには?
はシナリオです: this
内のリンクの例に続いて、私は、ユーザーがハイパーリンクのURLを確認するとした後、ハイパーリンクに選択したテキストを変換するには、次のコードを使用しています:
今_confirmLink(urlValue) {
const {editorState} = this.state;
const entityKey = Entity.create('LINK', 'MUTABLE', {url: urlValue});
this.setState({
showURLInput: false,
editorState: RichUtils.toggleLink(
editorState,
editorState.getSelection(),
entityKey
)
},() =>
setTimeout(() => this.refs.editor.focus(), 100);
});
}
ユーザーがテキストabc
を入力した後、プロンプトでURLを入力したとします。例:http://yahoo.com
テキストabc
は、ハイパーリンクに変換されます。
しかし、その後、テキストエディタのカーソルが行の先頭にすぐに伝えられます。ユーザーが手作業でカーソルを行末に移動して何かを入力しようとすると、テキストエディタはその行の先頭にタイプされたテキストを表示します。これは非常に奇妙です。
私の意見では、生成されたハイパーリンクの後に空白文字を挿入して、その後にユーザーが何か入力できるようにする必要があります。また、カーソルは、行の先頭ではなく、ハイパーリンクの最後にとどまる必要があります。
どうすれば実現できますか?