React Native中react-native-dropdown-picker的DropDownPicker下拉框无法展开
react-native-dropdown-picker下拉框无法打开解决方法
- 补充必填的展开状态控制:5.x及以上版本的
DropDownPicker要求必须手动绑定open、setOpen属性控制下拉框的展开状态,你当前代码缺少该配置导致无法触发展开逻辑// 先在state里新增open字段 state = { value: null, open: false, // 新增控制下拉展开的状态 // 其余原有state字段保留 } - 修复父容器溢出裁剪问题:你给下拉框设置了绝对定位,需要给外层的
dropdownContainer样式增加overflow: 'visible',否则展开的下拉内容会被父容器裁剪隐藏 - 调整属性错误绑定:不要把
defaultValue和placeholder绑定同一个值,避免初始渲染逻辑冲突 - 修改后的组件代码示例:
<View style={styles.container}> <View style={[styles.dropdownContainer, {overflow: 'visible'}]}> <DropDownPicker open={this.state.open} setOpen={(nextOpen) => this.setState({open: nextOpen})} items={data} containerStyle={{height: 40}} value={this.state.value} placeholder="请选择选项" dropDownStyle={{backgroundColor: '#fafafa'}} onChangeItem={item=>this.setState({value: item.value, open: false})} /> </View> </View>
- 额外排查点:如果修改后还是无法打开,检查当前页面是否有
ScrollView组件包裹,如果有需要给DropDownPicker增加zIndex属性,避免被其他层级的组件遮挡:<DropDownPicker // 其他属性不变 zIndex={3000} zIndexInverse={1000} />
内容的提问来源于stack exchange,提问作者Bala
相关产品推荐
相关产品推荐

