Az autocomplete = “ kikapcsolása ” villám alakban

A probléma

Megpróbálom beállítani a auto-complete="off" HTML attribútumot egy slds-input osztályú bemeneti elemen. Valamilyen oknál fogva a sablon ezt mindig átalakítja autocomplete="true" -re a renderelés során.

Egyéni keresőmezőt hoztam létre az sObjects keresésére, így a böngésző automatikus kiegészítésének viselkedése nyilvánvalóan haszontalan, és ha ez rendes html lenne, akkor csak a autocomplete attribútumot felvehetném az off értékkel, de úgy tűnik, hogy az aura nem engedje meg.

Egy általam talált válasz a html-autocomplete="off" használatát javasolta, ezért ezt is kipróbáltam, és amikor ezt megtettem, akkor az attribútum egyszerűen nem jelenik meg.

Amit kipróbáltam

Van erre mód? Vagy dokumentáció erről a viselkedésről?

Kódminta:

Ez:

<aura:component> <input type="text" autocomplete="off" /> </aura:component> 

a végleges verzióban jelenik meg HTML formátum:

<input type="text" autocomplete="true" data-aura-rendered-by="5:0"> 

Megjegyzések

  • Mi ' s megakadályozza a szokásos html bevitelt? Hozzáadna egy kis kódot a jelöléshez, hogy elősegítse a reprodukciót.
  • Amit ' megállít, az az, ahogyan az aura (vagy esetleg villám) módosítja a kódot. További kód hozzáadva
  • Az autocomplete = " jelszót " használom off / on helyett, mivel a chrome tiszteletben tartja. A Chrome egyébként figyelmen kívül hagyja az automatikus kiegészítést. Készítsen egy képet, és nézze meg, hogy működik-e az Ön számára

Válasz

Lehetséges 19. tavasztól. Lásd: div id = “1701b6f13b”>

itt

autocomplete – A mező automatikus kitöltését vezérli. Ezt az attribútumot támogatják az e-mail, a keresés, a telefon, a szöveg és az URL beviteltípusai. A be- és kikapcsolt értékek támogatottak, de az automatikus kitöltés viselkedése a böngészőtől függ. Az automatikus kiegészítés attribútumának beállításakor a lightning: input komponens átadja az értéket, hogy a böngésző értelmezze.

Válasz

Éppen a Salesforce támogatásával beszéltem, és nyilvánvalóan ez jelenleg lehetetlen.

(A válaszomat itt nem hagyom elfogadott válaszként, mert én azt szeretné, ha valaki megtalálná ezt a kérdést, ha van jobb lehetőség, és megválaszolja, és elfogadhatóként megjelölöm őket.)


Megkerülő megoldás:

Azonban a következő hack-kerülő megoldást használom:

Adtam az elememnek egy azonosítót, és végrehajtom ezt a JS-t:

turnOffAutocomplete : function(component) { var input = document.getElementById("id-of-the-input"); if(input.getAttribute("autocomplete") !== "off"){ input.setAttribute("autocomplete","off"); } } 

I “m végrehajtja nem a init fájlban (mert az még az elemek megjelenése előtt végrehajtódik), hanem a bemeneti elem fókuszálásakor.

Bármely megjegyzés ennek javítására (tehát nem “Nem kell minden alkalommal végrehajtanunk, amikor a bemenet fókuszálódik) értékeljük.

Megjegyzések

  • Helyezze át ezt a logikát a megjelenítőbe.

Válasz

Az egyetlen megoldást megtaláltam használjon textArea sort = “1” sorokkal

<textarea type="text" class="slds-input" rows="1" style="resize : none;" /> 

Hozzáadhat néhány slds osztályt, amelyek megegyeznek a megjelenítéssel normál bemenet.

Válasz

Ezt kipróbálhatja nekem az aura: id használatával dolgozott, majd kapcsolta ki az “automatikus kiegészítést”. Használhatja a világításvezérlő init módszerében

component.find("fieldSelect").set("v.autocomplete","off"); 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük