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
- Megpróbáltam a következőt:
autocomplete="off"
éshtml-autocomplete="off"
a beviteli címkében - megpróbáltam
autocomplette="off"
éshtml-autocomplete="off"
beilleszteni a bemeneti címkét körülvevő űrlapcímkébe - Megpróbáltam beállítani a
aria-autocomplete
értéket (ez nem tett semmit, nem mintha azt vártam volna, de legalább meg akartam próbálni). - A az aura dokumentumok ezen PDF-je, a
autocomplete
html attribútum nem szerepel. - Találtam egy listát támogatott HTML címkék az aurában , de a támogatott attribútumok listája nincs
- Nem találok semmit erről a viselkedésről a villámdokumentumokban, és ez nagyon nehéz google-ra keresni az autocomplete villám / aura elem miatt
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");