React Native的單選、復選、下拉框組件的使用備忘

最基礎的一坨組件,目前在RN中均不包括,以下代碼目前可以在RN:0.65.1上使用

1. 單選

安裝:

yarn add react-native-radio-buttons-group

代碼:

import React, { useState } from 'react';
import RadioGroup from 'react-native-radio-buttons-group';

const radioButtonsData = [{
    id: 1, //主鍵是必須有的
    label: '男',
    value: 'male'
}, {
    id: 2,
    label: '女',
    value: 'female',
    selected: true
},{
  id: 3,
  label: '其它',
  value: 'other',
}]

export default function App() {
    const [radioButtons, setRadioButtons] = useState(radioButtonsData)

    function onPressRadioButton(radioButtonsArray) {
        console.log(radioButtonsArray)
        setRadioButtons(radioButtonsArray);
    }

    return (
        <RadioGroup 
            radioButtons={radioButtons} 
            onPress={onPressRadioButton} 
        />
    );
}

2. 復選:

安裝:

yarn add @react-native-community/checkbox

代碼:

import React, { Component } from 'react'
import { Text, View } from 'react-native'
import CheckBox from '@react-native-community/checkbox';

export default class App extends Component {
    state={accept:false}
    render() {
        return (
            <View style={{flexDirection:'row',alignItems:'center'}}>
                <CheckBox
                    tintColors={{true:'red',false:'green'}}
                    disabled={false}
                    value={this.state.accept}
                    onValueChange={v => {
                        this.setState({accept:v})
                    }}/>
                <Text>您是否接受協(xié)議</Text>
            </View>
        )
    }
}

3. 下拉選擇:

(1) 彈出式
安裝:

npm i react-native-modal-dropdown -save

代碼:

import React, { Component } from 'react'
import { Text, View } from 'react-native'
import ModalDropdown from 'react-native-modal-dropdown';

export default class App6 extends Component {
    _majorChangeHandler=(index,item)=>{
        console.log(index,item)
    }
    render() {
        let majors=["計算機科學","軟件工程","移動云計算"]
        return (
            <View >
                <ModalDropdown onSelect={this._majorChangeHandler} 
                defaultValue="請選擇您的專業(yè)..."
                dropdownTextStyle={{fontSize:22,color:'blue'}} 
                textStyle={{fontSize:30,color:'red'}}
                dropdownTextHighlightStyle={{backgroundColor:"red",color:'yellow'}}
                options={majors}/>
                <Text>您的專業(yè)是:</Text>
            </View>
        )
    }
}

  1. 直接下拉式:
    安裝:
yarn add eact-native-dropdown-picker

代碼:

import DropDownPicker from 'react-native-dropdown-picker';
import React, { useState } from 'react';
import { View,Text } from 'react-native'
export default function App() {
    const [open, setOpen] = useState(false);
    const [value, setValue] = useState(null);
    const [items, setItems] = useState([
        { label: '蘋果', value: 'apple' },
        { label: '香蕉', value: 'banana' }
    ]);

    return (
        <View style={{flex:1,justifyContent:'space-around'}}>
            <DropDownPicker
                open={open}
                value={value}
                items={items}
                setOpen={setOpen}
                setValue={setValue}
                setItems={setItems}
            />
            <Text>您選擇的是:{value}</Text>
        </View>

    );
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容