gpt4 book ai didi

javascript - React Native Controller FormData TextInput 不重置

转载 作者:行者123 更新时间:2023-12-04 01:05:35 25 4
gpt4 key购买 nike

问题:我在概览中选择了一个传感器。我编辑传感器的名称。我收到所有传感器的概述,名称确实已更改。然后我点击另一个传感器,不做任何更改,我保存它,然后它得到之前更改过的传感器的名称。因此该字段(必填)为空。但它仍然通过并采用先前传感器的名称。我已经制作了这个问题的视频 -> https://www.youtube.com/watch?v=yH-4bW0JEWI .

我尝试设置一个默认值,但如果我不做任何更改并点击保存,之前传感器的名称会覆盖它。我还尝试重置 FormData.name。它确实会重置,但当我点击另一个传感器时,它会神奇地填充上一个传感器的名称。

这是我的代码:

const onSubmit = (formData) => {
data.name = formData.name;
console.log("before formdata: " + formData.name); //when clicked on a new sensor, it gets the formdata from a previous sensor that has been edited
formData.name = "";
console.log("after formdata: " + formData.name); //formdata.name gets resetted
putRequest();
}

function putRequest() {
setIsLoading(true)
axios.put(`api/sensor/${data.sensorId}`, data)
.then(() => {
navigation.push("Overview");
})

并在返回中:

<Controller 
control={control}
defaultValue={data.name}
render={({onChange}) => (
<TextInput
style={component.textInput}
//defaultValue={data.name}
placeholder={data.name}
autoCapitalize="sentences"
returnKeyType="next"
onChangeText={(e) => onChange(e)}
clearButtonMode="always"
/>
)}
name="name"
rules={{}}//deleted rules for overview
/>

那么有人知道为什么当我不提供值时 FormData.Name 会设置为前一个传感器吗?

最佳答案

也许如果您尝试使用 navigation.navigate 而不是 navigation.push?

关于javascript - React Native Controller FormData TextInput 不重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66585303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com