关于键盘遮挡的题目:
看Android manifests中的windowSoftInputMode的值,可以有多个值共同决定。
adjustPan:不会往上挤你的内容,但是键盘会遮挡住你的输入框,
adjustResize:会自动调解不遮挡你的内容,但是你的内容会变形。被挤压的。
这个时间你就可以用官方给的调解键盘遮挡的组件KeyboardAvoidingView 放在这个内里的内容不会被遮挡住。这是官方给的办理办法
关于fetch的post
寻常咱们在web上直接就用表单直接提交了,没有相识到许多细节,咱么的rn但是不一样的,咱们的网络哀求是通过fetch来完成的,他的结构如下
let formData = new FormData();
formData.append(“name”,“admin”);
formData.append(“password”,“admin123”);
fetch(url , {
method: ‘POST’,
headers: {},
body: formData,
}).then((response) => {
if (response.ok) {
return response.json();
}
}).then((json) => {
alert(JSON.stringify(json));
}).catch((error) => {
console.error(error);
});
着实照旧蛮简单明白的不是嘛,如果你这么看你就大错特错了,由于我没有去看fetch的官方文档(ps:全英文看不太懂),我们可以看到body参数反面加的是formData,直接表明吧,我们网页上的表单提交时body中的值会自动转化为formData的情势,但是fetch不会,以是这里我们直接new一个formData对象,再放到哀求体body中。
实现点击空缺处让输入框失去焦点(常用在登录与注册页面大概其他必要提交表单的页面)
重要实现是通过ref,给input添加ref,在最外层的touchableOpacity添加点击变乱,当点击时失去焦点即可以下是简单的代码实现:
export default class createCollection extends Component {
async click() {
this.refs.input1.blur();
this.refs.input2.blur();
}
render() {
return (
{
this.click();
}}
style={style.touchalbe}
>
)
}
}
上面我用的是封装过的输入框Fumi(来自一个悦目的第三方库叫做react-native-textinput-effects),寻常的是input。重要看逻辑实现就可以了,这个照旧很简单的。ps:我没有把import写进来,各人如果有必要要本身import哈
如果用了react-native-elements,内里的header在安卓上有一点的题目
详细表现为标题栏很高(由于把状态栏的巨细也放进去了)详细办理方案:
加上这个属性才华好,详细意思就是将状态栏匿伏。
!