React-dnd: Probleme mit der Texteingabe in der ziehbaren Komponente (Firefox)

Erstellt am 7. Aug. 2015  ·  5Kommentare  ·  Quelle: react-dnd/react-dnd

Es gibt Probleme mit Texteingaben in Komponenten, bei denen das HTML5-Attribut draggable true in Firefox auf dieses bekannten Fehlers ). Ich arbeite an Einstellung draggable auf false in einem onFocus Handler und es zurück zu Einstellung true in onBlur Handler ( wie hier empfohlen ), aber react-dnd unterstützt eine solche Problemumgehung nicht und das Attribut wird sofort auf true .

Gibt es angesichts der Tatsache, dass es in FireFox keine Fortschritte bei diesem Fehler zu geben scheint, Raum für eine Unterlegscheibe in React-Dnd, um damit umzugehen? Ich werde dieses Problem aktualisieren, wenn ich trotzdem eine gute Lösung finde.

bug

Hilfreichster Kommentar

Sie sollten in der Lage sein, diesen Fehler zu umgehen, indem Sie eine Statusvariable in onFocus und onBlur umschalten und Ihre Funktion render so ändern, dass sie während der Eingabe nicht connectDragSource() aufruft ::

render() {
  const element = <div><textarea onFocus=... /></div>;
  return this.state.editing ? element : this.props.connectDragSource(element);
}

Alle 5 Kommentare

Die Wurzel hierfür könnte # 256 sein

Im Moment arbeite ich an einer Abzweigung , mit der ich das Attribut draggable direkt in meiner App verwalten kann.

Vielen Dank. Ich bin derzeit mit einigen anderen Projekten beschäftigt.
Wenn Ihnen eine dieser PRs hilft, lassen Sie es mich auch wissen: https://github.com/gaearon/react-dnd/pulls

Bitte vergessen Sie nicht, dass das HTML5-Backend nur als Annehmlichkeit enthalten ist.
Sie können Ihre feste Version auf NPM veröffentlichen (es ist eine einzelne Datei), aber für alles andere das Haupt-Repo verwenden.

Sie sollten in der Lage sein, diesen Fehler zu umgehen, indem Sie eine Statusvariable in onFocus und onBlur umschalten und Ihre Funktion render so ändern, dass sie während der Eingabe nicht connectDragSource() aufruft ::

render() {
  const element = <div><textarea onFocus=... /></div>;
  return this.state.editing ? element : this.props.connectDragSource(element);
}
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen