Ongelma
Yritän asettaa HTML-määritteen auto-complete="off"
syötteelle, jonka luokka on slds-input
. Jostain syystä malli muuntaa tämän aina renderöinnissä autocomplete="true"
.
Olen luonut mukautetun hakukentän etsimään sObjektteja, joten selaimen automaattisen täydennyksen toiminta on ilmeisesti hyödytön, ja jos tämä olisi säännöllinen html, voisin vain sisällyttää autocomplete
-attribuutin arvoon off
, mutta aura ei näytä olevan anna minun.
Yksi löytämäni vastaus ehdotti html-autocomplete="off"
-sovelluksen käyttöä, joten yritin myös sitä, ja kun tein niin, määritettä ei yksinkertaisesti renderöidä ollenkaan.
Mitä olen kokeillut
- Yritin sisältää
autocomplete="off"
jahtml-autocomplete="off"
syötetunnisteessa - Yritin sisällyttää
autocomplette="off"
jahtml-autocomplete="off"
syötetunnistetta ympäröivään lomaketagiin - Yritin säätää
aria-autocomplete
-arvoa (se ei tehnyt mitään, ei niin, että odotin sen todella, mutta halusin ainakin yrittää). - Kohdassa tätä aura-asiakirjojen PDF-tiedostoa html-attribuuttia
autocomplete
ei mainita. - Olen löytänyt luettelon tuetut HTML-tunnisteet aurassa , mutta ei luetteloa tuetuista määritteistä
- En löydä mitään tästä toiminnasta salaman dokumenteista, ja se on erittäin vaikeaa googlata automaattisen täydennyksen salama / aura-elementin takia
Onko mitään keinoa tehdä tämä? Tai dokumentaatiota tästä käyttäytymisestä?
Koodinäyte:
Tämä:
<aura:component> <input type="text" autocomplete="off" /> </aura:component>
tulee ulos lopullisesta HTML-koodi tällä tavalla:
<input type="text" autocomplete="true" data-aura-rendered-by="5:0">
kommentit
- mitä ' s estää sinua käyttämästä tavallista HTML-syötettä? Voisitko lisätä koodiin merkintöjä, jotta se voisi toistaa.
- Mikä ' estää minua on tapa, jolla aura (tai ehkä salama) muuttaa koodia. Lisää koodia lisätty
- Käytän autocomplete = " salasanaa " ei käytössä / päällä, koska kromi kunnioittaa sitä. Chrome ei yleensä välitä automaattista täydennystä muuten. Anna sille kuva ja katso, toimiiko se sinulle
Vastaa
Mahdollinen 19. keväästä alkaen. Katso täällä
automaattinen täydennys – Ohjaa kentän automaattista täyttöä. Tätä määritettä tuetaan sähköposti-, haku-, puhe-, teksti- ja URL-syötetyypeille. Arvot päällä ja pois ovat tuettuja, mutta automaattisen täytön toiminta riippuu selaimesta. Kun asetat automaattisen täydennyksen määritteen, lightning: input -komponentti välittää arvon selaimen tulkittavaksi.
Vastaa
Puhuin juuri tuella Salesforcessa ja ilmeisesti tämä on tällä hetkellä mahdotonta.
(Jätän vastaukseni tähän ei hyväksyttynä vastauksena, koska olen haluan jonkun löytävän tämän kysymyksen, kun on parempi vaihtoehto, ja vastaa siihen, ja merkitsen heidät hyväksytyksi.)
Kiertotapa:
käytän seuraavia hakkerin kiertotapoja:
Annoin elementilleni id: n ja suoritan tämän JS: n:
turnOffAutocomplete : function(component) { var input = document.getElementById("id-of-the-input"); if(input.getAttribute("autocomplete") !== "off"){ input.setAttribute("autocomplete","off"); } }
Minä suoritan sen ei ryhmässä init
(koska se suoritetaan ennen kuin elementit ovat renderöityjä), vaan sen sijaan, kun syöttöelementti on kohdennettu.
Kaikki kommentit tämän parantamiseksi (joten se ei ”Ei tarvitse suorittaa joka kerta, kun syöte on kohdennettu, esimerkiksi) arvostamme.
Kommentit
- Siirrä tämä logiikka rendereriin.
Vastaa
Ainoa löytämäni ratkaisu oli käytä textArea-riviä = ”1”
<textarea type="text" class="slds-input" rows="1" style="resize : none;" />
Voit lisätä joitain slds
-luokkia näyttämään saman normaali tulo.
Vastaa
Voit kokeilla sitä työskenteli minulle käyttämällä aura: id: tä ja asettanut sitten automaattisen täydennyksen pois päältä. Voit käyttää valosäätimen init-menetelmässä
component.find("fieldSelect").set("v.autocomplete","off");