最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ReactNative支付密碼輸入框?qū)崿F(xiàn)詳解

 更新時(shí)間:2022年11月27日 10:53:33   作者:wayne214  
這篇文章主要為大家介紹了ReactNative支付密碼輸入框?qū)崿F(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

項(xiàng)目中需求如果涉及錢包,支付等功能,可以大概率會用到輸入密碼組件,也算是個(gè)常見組件吧。

之前寫過一個(gè)純js的開源組件,使用的類的形式,也比較老了,可直接添加npm庫到項(xiàng)目中進(jìn)行使用。

hooks版本

最近項(xiàng)目需要,又重新寫了一個(gè)hooks版本的,現(xiàn)在直接上源碼,對于不想添加依賴庫的伙伴,可直接復(fù)制源碼到項(xiàng)目中,直接使用。

'use strict';
import React, {useRef, useState} from 'react';
import {StyleSheet, View, Pressable, TextInput} from 'react-native';
// 支付密碼輸入框
const PasswordInput = ({isAutoFocus = false}) => {
    const [msg, setMsg] = useState('');
    const textInputRef = useRef();
    const onEnd = (text: string) => {
        console.log('輸入密碼:', text);
    };
    const _getInputItem = () => {
        let inputItem = [];
        for (let i = 0; i < 6; i++) {
            inputItem.push(
                <View key={i} style={i === 5 ? [styles.textInputView, {borderRightWidth: 1}] : [styles.textInputView, {borderRightWidth: 0}]}>
                    {i < msg.length ? <View style={{width: 16, height: 16, backgroundColor: '#222', borderRadius: 8}} /> : null}
                </View>,
            );
        }
        return inputItem;
    };
    const _onPress = () => {
        textInputRef?.current.focus();
    };
    return (
        <Pressable onPress={_onPress}>
            <View style={styles.container}>
                <View style={{flexDirection: 'row', marginTop: 36, justifyContent: 'center'}}>
                    <TextInput
                        style={styles.textInputMsg}
                        ref={textInputRef}
                        maxLength={6}
                        autoFocus={isAutoFocus}
                        keyboardType="number-pad"
                        defaultValue={msg}
                        onChangeText={text => {
                            setMsg(text);
                            if (text.length === 6) {
                                onEnd(text);
                            }
                        }}
                    />
                    {_getInputItem()}
                </View>
            </View>
        </Pressable>
    );
};
const styles = StyleSheet.create({
    container: {
        flex: 1,
        backgroundColor: '#ffffff',
        justifyContent: 'center',
        alignItems: 'center',
    },
    textInputView: {
        height: 85 / 2,
        width: 85 / 2,
        borderWidth: 1,
        borderColor: '#c9c7c7',
        justifyContent: 'center',
        alignItems: 'center',
    },
    textInputMsg: {
        height: 45,
        zIndex: 99,
        position: 'absolute',
        width: 45 * 6,
        opacity: 0,
    },
});
export default PasswordInput;

使用方式就很簡單了:

<PasswordInput />

項(xiàng)目庫地址鏈接Github: github.com/wayne214/re…

以上就是ReactNative支付密碼輸入框?qū)崿F(xiàn)詳解的詳細(xì)內(nèi)容,更多關(guān)于ReactNative支付密碼輸入框的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • react-native android狀態(tài)欄的實(shí)現(xiàn)

    react-native android狀態(tài)欄的實(shí)現(xiàn)

    這篇文章主要介紹了react-native android狀態(tài)欄的實(shí)現(xiàn),使?fàn)顟B(tài)欄顏色與App顏色一致,使用戶界面更加整體。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • React+Node.js實(shí)現(xiàn)大文件傳輸與斷點(diǎn)續(xù)傳

    React+Node.js實(shí)現(xiàn)大文件傳輸與斷點(diǎn)續(xù)傳

    這篇文章主要為大家詳細(xì)介紹了如何使用React前端和Node.js后端實(shí)現(xiàn)大文件傳輸和斷點(diǎn)續(xù)傳的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考下
    2024-12-12
  • React使用react-sortable-hoc如何實(shí)現(xiàn)拖拽效果

    React使用react-sortable-hoc如何實(shí)現(xiàn)拖拽效果

    這篇文章主要介紹了React使用react-sortable-hoc如何實(shí)現(xiàn)拖拽效果問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • VSCode搭建React Native環(huán)境

    VSCode搭建React Native環(huán)境

    這篇文章主要介紹了VSCode搭建React Native環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • React受控組件與非受控組件實(shí)例分析講解

    React受控組件與非受控組件實(shí)例分析講解

    具體來說這是一種react非受控組件,其狀態(tài)是在input的react內(nèi)部控制,不受調(diào)用者控制??梢允褂檬芸亟M件來實(shí)現(xiàn)。下面就說說這個(gè)React中的受控組件與非受控組件的相關(guān)知識,感興趣的朋友一起看看吧
    2023-01-01
  • React實(shí)現(xiàn)合成事件的源碼分析

    React實(shí)現(xiàn)合成事件的源碼分析

    React?中的事件,是對原生事件的封裝,叫做合成事件。抽象出一層合成事件,是為了做兼容,抹平不同瀏覽器之間的差異。本文將從事件綁定和事件觸發(fā)角度,帶大家解讀下源碼,感興趣的可以了解一下
    2022-12-12
  • React Fiber中面試官最關(guān)心的技術(shù)話題

    React Fiber中面試官最關(guān)心的技術(shù)話題

    這篇文章主要為大家介紹了React Fiber中面試官最關(guān)心的技術(shù)話題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • react入門級詳細(xì)筆記

    react入門級詳細(xì)筆記

    這篇文章講述了React的基本介紹,基本使用和React相關(guān)js庫.通過這篇文章可以入門React的使用,可以快速上手使用React進(jìn)行代碼的編寫
    2021-06-06
  • React18中的useDeferredValue示例詳解

    React18中的useDeferredValue示例詳解

    這篇文章主要介紹了React18中的useDeferredValue的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • ReactJS實(shí)現(xiàn)表單的單選多選和反選的示例

    ReactJS實(shí)現(xiàn)表單的單選多選和反選的示例

    本篇文章主要介紹了ReactJS實(shí)現(xiàn)表單的單選多選和反選的示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-10-10

最新評論

泰兴市| 湄潭县| 榆社县| 湖南省| 呈贡县| 新乡市| 苍山县| 平凉市| 池州市| 抚州市| 大新县| 孙吴县| 平南县| 成安县| 宜都市| 巴中市| 积石山| 水富县| 老河口市| 岳西县| 正阳县| 肇东市| 翁牛特旗| 屏东市| 昆山市| 绿春县| 岳阳县| 娄烦县| 长子县| 慈溪市| 克拉玛依市| 辽宁省| 南投市| 晴隆县| 扬州市| 宽甸| 鄱阳县| 石城县| 牡丹江市| 安乡县| 古田县|