触发事件,但是键盘不收起,安卓模拟器,iOS真机都不收键盘

来源:7-12 ScrollView 基础滚动组件

西瓜一号

2024-06-24

keyboardShouldPersistTaps='handled'
```
<ScrollView style={s.root}
        //整个View样式 
        contentContainerStyle={s.contaionStyle}
        // 滚动时 键盘状态  on-drag:滚动时键盘消失 none:不消失
        keyboardDismissMode='on-drag'
        //点击时 键盘状态 never:键盘消失(不触发按钮事件) handled:键盘消失(直接触发按钮事件)  always:不消失
        keyboardShouldPersistTaps='handled'
        //滑动 松手时触发
        onMomentumScrollBegin={()=>{
            console.log(`onMomentumScrollBegin,,,`)
        }}
        onMomentumScrollEnd={()=>{
            console.log(`onMomentumScrollEnd,,,`)
        }}
        //滚动距离回调
        onScroll={(event)=>{
            console.log(`onScroll = ${event.nativeEvent.contentOffset.y}`)
        }}
        // 超出滚动效果,always:有回弹效果   always:没回弹效果
        overScrollMode='always'
        // ios必须写  每隔几毫秒 回调一次onScroll
        // 不写 只在最后回调一次
        scrollEventThrottle={16}
        >
            <TextInput style={s.input}></TextInput>
            <Button title="按钮" onPress={()=>{console.log(`onPress,,,`)}}></Button>
            {/* //固定渲染 */}
            {/* <Text style={s.txt}>111</Text>
            <Text style={s.txt}>111</Text>
            <Text style={s.txt}>111</Text>
            <Text style={s.txt}>111</Text>
            <Text style={s.txt}>111</Text> */}
            {/* 列表渲染 */}
            {/* {array.map((item, index) => {
                return (
                    // key  唯一ID ,复用,性能
                    <Text key={`item-${index}`} style={s.txt}>{`List item ${item}`}</Text>
                );
            })} */}
            {/* 数组渲染 */}
            {
                buildListView()
            }
        </ScrollView>```


写回答

1回答

FE大公爵

2024-06-27

keyboardShouldPersistTaps属性设置成handled时,如果点击区域是可交互的,不会收起键盘。如果点击的正常区域也不收齐,可能是IOS的机制不一样。具体要看下RN的版本。安卓最好还是用真机测试吧

0
0

RN从0到1系统精讲与小红书APP实战

30+小案例+2个实战项目,快人一步提升个职业竞争力

295 学习 · 211 问题

查看课程