मैं इसे कैसे रेंडर करूं?
<input
id={field.name}
className="form-control"
type="text"
placeholder={field.name}
autocomplete="off"
{...field}/>
जवाबों:
राजधानी "सी" autoComplete
। यह प्रतिक्रिया दस्तावेज में उल्लिखित है:
https://facebook.github.io/react/docs/tags-and-attributes.html
आपको लगाना चाहिए:
autoComplete="new-password"
यह स्वत: पूर्ण को हटा देगा
new
नाम के भीतर पहचान रहा है । मैंने इसे अब नाम दिया है autoComplete="new-off"
जो मेरे लिए थोड़ा अधिक समझ में आता है अगर यह पासवर्ड फ़ील्ड नहीं है और यह ठीक काम करता है: D
मोज़िला प्रलेखन के अनुसार , आपको स्वतः पूर्णता को बंद करने के लिए एक अमान्य मान सेट करना होगा। कुछ ब्राउज़रों में, स्वत: पूर्ण सुझाव तब भी दिए जाते हैं, जबकि विशेषता बंद हो जाती है।
इसने मेरे लिए काम किया (प्रतिक्रिया-बूटस्ट्रैप):
<FormControl
value={this.state.value}
autoComplete="nope"
{...props}
/>
autocomplete
और autofill
? क्योंकि यह क्रोम का उपयोग करके मेरे लिए काम नहीं करता है। यह फॉर्म को उसी फॉर्म के साथ भेजे गए पिछले मानों के साथ स्वत: स्फूर्त रखता है।
यदि आपने सही उत्तर पढ़ा है और अभी भी यह समस्या है (विशेष रूप से क्रोम में), तो क्लब में आपका स्वागत है ... इसलिए जांचें कि मैंने इसे कैसे पूरा किया है:
<form autoComplete="new-password" ... >
<input name="myInput" type="text" autoComplete="off" id="myInput" placeholder="Search field" />
</form>
टिप्पणियाँ
<FormControl/>
टैग (इसके बजाय <input/>
) के साथ भी काम करता हैइनमें से कोई भी समाधान वास्तव में Chrome 80 पर काम नहीं किया है।
परीक्षण और त्रुटि के घंटों के बाद, इस बहुत ही अजीब हैक ने मेरे लिए काम किया:
autoComplete="none"
प्रत्येक में जोड़ें <input>
- Google अब स्वत: पूर्ण = "बंद" हो जाता है<form>
या<div>
autoComplete="on"
। यह कंटेनर में अंतिम तत्व होना चाहिए। इसलिए मैंने निम्न इनपुट फ़ील्ड को अपने फ़ॉर्म के नीचे जोड़ा:<input
type="text"
autoComplete="on"
value=""
style={{display: 'none', opacity: 0, position: 'absolute', left: '-100000px'}}
readOnly={true}
/>
स्वत: पूर्ण = "कोई नहीं" - मेरे लिए काम करता है।
Chrome स्वत: पूर्ण नरक नया-पासवर्ड विशेषता जोड़कर बंद हो जाता है।
autoComplete="new-password"
कार्रवाई में इस तरह दिखता है:
<input
type="password"
autoComplete="new-password"
/>
पर अधिक चर्चा:
मैंने इसे सिर्फ एक लाइन से हल किया:
यदि आप "changeHandler ()" और घटकों की स्थिति के साथ अनुशंसित तरीके का उपयोग करते हैं, तो बस डालें:
changeHandler = (e) => {
if (!e.isTrusted) return;
... your code
}
उस परिवर्तन पर अधिक जानकारी प्राप्त करें (हैंडलर) - Thing:
https://reactjs.org/docs/forms.html#controlled-compenders
मैंने कई विकल्पों को भी आज़माया है, लेकिन मैंने जो किया है वह <form>
टैग के साथ <div>
टैग को बदलने और प्रत्येक इनपुट को मैन्युअल रूप से प्रबंधित करने के लिए था जो मुझे उस रूप में मिला था।
यहाँ "यह मेरी मशीन पर काम करता है"
क्रोम संस्करण 83.0.4103.116 और प्रतिक्रिया। मेरे लिए काम की चाल की तरह लग रहा है यह एक फार्म के अंदर डाल दिया और स्वत: पूर्ण विशेषता जोड़ने के लिए है। सूचना यदि आप एक गैर-प्रतिक्रिया एप्लिकेशन पर यह कोशिश करते हैं, तो आपको लोअरकेस सी के साथ स्वत: पूर्ण करना होगा
<form autoComplete="off">
<input type="text" autoComplete="new-password" />
</form>
तथा
<form autoComplete="new-password">
<input type="text" autoComplete="new-password" />
</form>
अधिकांश सुझाव यहां और अन्य जगहों पर दिसंबर 2020 तक विफल रहे। मुझे लगता है कि मैंने उन सभी की कोशिश की, फॉर्म रैपर, "न्यूपासवर्ड" के "बंद" (न ही काम किए गए) को स्वत: पूर्ण स्थापित करते हुए, ऑनफोकस का उपयोग करते हुए, सुनिश्चित करें कि मैं स्वत: पूर्ण और स्वत: पूर्ण नहीं हूं। (पूंजीकरण नहीं) लेकिन उनमें से किसी ने भी मदद नहीं की।
अंत में mscott2005 दृष्टिकोण ने मेरे लिए (+1) काम किया, लेकिन मैंने इसे एक और न्यूनतम उदाहरण के लिए भी साझा किया, जिसे मैं दूसरों के लिए एक उत्तर के रूप में पोस्ट कर रहा हूं:
कोई प्रपत्र आवश्यक नहीं था, बस दो इनपुट टैग:
autocomplete = "off"
इच्छित क्षेत्र पर
<input ... autoComplete="off" />
autocomplete = "on"
नकली छिपे हुए मैदान पर
<input
id="fake-hidden-input-to-stop-google-address-lookup"
autoComplete="on"
style={{ display: 'none'}}>
आईडी सबसे अच्छा है जो मेरे पास दस्तावेज के लिए है जो वास्तव में एक टिप्पणी का उपयोग किए बिना हैक है।