私は、ユーザーがショートカットを押すたびに特殊文字、絵文字などを追加する必要のあるアプリを持っていますCtrl + D。任意の入力にショートカットを含む特殊文字を追加するには?
私はフラックスを使用していて、ページ上にいくつかの入力があるため、誰かが入力の1つに文字を追加すると、アクションが呼び出され、ストアにディスパッチされ、ビューが更新されます。
この特別なcharを追加するには、keyEventを処理し、ストア内の対応する属性を更新するために使用されている入力コンポーネントを知る必要があります。
handleShortcut(evt) {
if (evt.keyCode === ...) {
MyActions.addSpecialChar();
evt.preventDefault();
}
}
これは唯一の方法ですか?私はdocument.activeElement
またはevt.target
を使用して入力を得ることができることを知っていますが、入力はストア状態によって制御されるため、値を変更することはできません。物事をより明確にする
**更新**
I場合は...私は、私のアプリは、「デスクトップアプリケーション」、私は私のアプリにいるどの入力に関係なく同じように動作したいと思いますキーの組み合わせを押すと、その入力に特別なcharが置かれます。つまり、onChangeによって処理されます。 (私はReactやJSに精通していないので、あまりにも多くのことを尋ねています)
私はその組み合わせを扱う上位コンポーネントにonKeyPressを持っていて、入力のvalue
属性に特殊文字を追加した後にアクティブ入力を選択します。
私はそれを実現させる方法は、各入力にonKeyPressを設定することでした。これは、組み合わせを探し、my onChangeと同じアクションをテキスト内の特殊文字で送信します。私は私がすべての入力にonKeyPressイベントを追加する必要はありませんので、通常の文字として、のonChangeとの組み合わせを処理したいの上に述べたよう
<input
onKeyPress={(evt)=>{
/* ... Check combination ... */
let text = _addSpecialChar(evt.target.value);
MyActions.update(text);
}}
onChange={(evt)=>{
MyActions.update(evt.target.value);
}}
/>
。これは可能ですか?
お店の状態がどのようなものが見えますか?あなたはなぜあなたの店の状態に絵文字を渡すことはできません? –
@ChaseDeAnda私はそうすることができますが、コピーして貼り付けると、emojiはどの入力にも関係なく、emojiをonChangeだけで追加できるなど、通常の文字のように絵文字を挿入するためのショートカットを追加したいと考えています。私は私の質問を更新... – MNV