Bir TextInput'u parola girişi için yerel tepkide nasıl biçimlendirirsiniz?


104

Bir TextInput'um var. Girilen gerçek metni göstermek yerine, kullanıcı metin girdiğinde yıldız işaretleri (****) göstermesini istiyorum. Bunu nasıl yapabilirim?

<TextInput
  style={{ height: 40, borderColor: 'gray', borderWidth: 1 }}
  onChangeText={(text) => this.setState({input: text})}
/>

Yanıtlar:


322

Bu sorulduğunda, bunu yerel olarak yapmanın bir yolu yoktu, ancak bu, bu çekme isteğine göre bir sonraki senkronizasyonda eklenecek . İşte çekme isteğiyle ilgili son yorum - "Dahili olarak indirildi, bir sonraki senkronizasyonda çıkacak"

Eklendiğinde bunun gibi bir şey yapabileceksiniz

<TextInput secureTextEntry={true} style={styles.default} value="abc" />

referanslar


teşekkürler, bu birleştirilene kadar başka hangi seçenekler var? Facebook'un kendi uygulamalarına giriş yapmak için benzer bir şey yaptığını tahmin ediyorum.
bwbrowning

1
Bugün araştırıyordum, çekme talebini bu şekilde buldum. Yalnızca% 100 React Native olan 2 uygulamaları olduğunu söylüyorlar. F8 uygulaması, yetkilendirme isteyen yeni bir pencere açar. Facebook Reklamları aradığımız işlevselliğe sahip, ancak neredeyse bunun için Objective-C'yi sardıklarını düşünüyorum. Bunu yapmanın başka bir yolu da dizeyi saklamaktır ve her girdi güncellemesi son karakteri ... stuff ile değiştirir :).
Riley Bracken

@bwbrowning, yakında birleştirilmeli; Sen konuşlanmadan çok önce bahse girerim.
Brigand

Bunu beğendim çünkü metin içeriyor, bu yüzden kopyalayıp yapıştırabilirim. XD
Jovylle Bermudez

25

Mayıs 2018 react-native 0.55.2 sürümü

secureTextEntry = {true} çalışır

password = {true} çalışmıyor


11

Aşağıdaki satırı <TextInput>

secureTextEntry={true}


6

Ekle

secureTextEntry={true}

ya da sadece

secureTextEntry 

TextInput öğenizdeki özellik.

Çalışma Örneği:

<TextInput style={styles.input}
           placeholder="Password"
           placeholderTextColor="#9a73ef"
           returnKeyType='go'
           secureTextEntry
           autoCorrect={false}
/>

4

Bir TextInput, secureTextEntry = {true} içermelidir, bu kombinasyon desteklenmediği için, React belgelerinin aynı anda multiline = {true} kullanmamanız gerektiğini belirttiğini unutmayın.

Ayrıca, alanın cep telefonunuzda depolanan anahtar zincirinden kimlik bilgilerini almasına izin vermek için textContentType = {'password'} değerini de ayarlayabilirsiniz; bu, cep telefonunuzda hızlı bir şekilde kimlik bilgilerini eklemek için biyometrik girişiniz varsa kimlik bilgilerini girmenin alternatif bir yoludur. İPhone X'teki FaceId veya diğer iPhone modellerinde ve Android'de parmak izi dokunmatik girişi gibi.

 <TextInput value={this.state.password} textContentType={'password'} multiline={false} secureTextEntry={true} onChangeText={(text) => { this._savePassword(text); this.setState({ password: text }); }} style={styles.input} placeholder='Github password' />

3

Biraz artı:

version = RN 0.57.7

secureTextEntry={true}

ne zaman çalışmıyor keyboardTypeoldu "phone-pad"ya"email-address"



0

0.56RC secureTextEntry = {true} Password = {true} ile birlikte, @NicholasByDesign tarafından belirtildiği gibi yalnızca çalışıyor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.