react native 下拉选择

推荐使用: 

https://docs.nativebase.io/Components.html#picker-def-headrefnativebase官网

https://akveo.github.io/react-native-ui-kitten/#/docs/ui-components/rkpicker (react-native-ui-kitten官网

下面使用的是: react-native-modal-dropdown

具体用哪个各位可以自行体验

<ModalDropdown
    options={type}    //下拉内容数组
    style={styles.modal}    //按钮样式
    dropdownStyle={[styles.dropdown,{height:32*type.length}]}    //下拉框样式
    dropdownTextStyle={styles.dropdownText}    //下拉框文本样式
    renderSeparator={this._separator}    //下拉框文本分隔样式
    adjustFrame={this._adjustType}    //下拉框位置
    dropdownTextHighlightStyle={{color:'rgba(42, 130, 228, 1)'}}    //下拉框选中颜色
    onDropdownWillShow={() => {    //按下按钮显示按钮时触发
         this.refs.search.blur();
         this.setState({typeShow:true})
    }}
    onDropdownWillHide={() => this.setState({typeShow:false})}    //当下拉按钮通过触摸按钮隐藏时触发
    onSelect={this._selectType}    //当选项行与选定的index 和 value 接触时触发
>
    <Text>{typeText}</Text>
</ModalDropdown>

// 状态选择
    _selectStatus = (index,value) => {
        // this.refs.search.blur()
        this.setState({
            statusShow: false,
            statusText: value
        })
    }
    // 分类选择
    _selectType = (index,value) => {
        console.log(index + '--' + value)
        this.setState({
            statusShow: false,
            typeText: value
        })
    }
    // 下拉列表分隔符
    _separator = () => {
        return(
            <Text style={{height:0}}></Text>
        )
    }
    // 状态选择下拉框位置
    _adjustStatus = () => {
        return({
            right: width / 3,
            top: 99,
        })
    }
    // 分类选择下拉框位置
    _adjustType = () => {
        return({
            right: 0,
            top: 99,
        })
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值