- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试发送一个包含时间戳类型日期的发布请求,我正在使用日期选择器,并在 onchangevalue 中将日期存储在 this.state.date 中。无论如何,后端工作正常,因为使用应用程序和 postman 添加了请求。
但问题是,当我从应用程序发送请求的日期时,我最终得到的结果是:
这是选择器的日期。所以...我不知道出了什么问题。这是我的代码
import React, { Component } from "react";
import {
View,
StyleSheet,
FlatList,
ListView,
ImageBackground,
Dimensions,
Image,
Alert
} from "react-native";
import {
Container,
Header,
Left,
Body,
Right,
Title,
Subtitle,
Icon,
Content,
Footer,
FooterTab,
Button,
Text,
Badge,
List,
ListItem,
Form,
Picker,
DatePicker
} from "native-base";
import Icon0 from "react-native-vector-icons/MaterialCommunityIcons";
import Icon1 from "react-native-vector-icons/FontAwesome";
import CountDown from "react-native-countdown-component";
import moment from "moment";
import "moment/locale/fr";
import bg from "../../assets/images/tryb.png";
import logo from "../../assets/images/trylogo.png";
import Iconbtn from "@expo/vector-icons/Ionicons";
const { width: WIDTH } = Dimensions.get("window");
class Prendre extends Component {
constructor(props) {
super(props);
this.state = {
selected: "key2"
};
this.state = {
idmedecin: "2",
idpatient: "1",
etat: "1",
date: ""
};
this.state = { chosenDate: new Date() };
this.setDate = this.setDate.bind(this);
}
setDate(newDate) {
this.setState({ chosenDate: newDate });
}
onValueChange(value: string) {
this.setState({
selected: value
});
}
addRendezVous = () => {
Alert.alert(this.state.date);
var details = {
idmedecin: 1,
idpatient: 1,
etat: 1,
date: this.state.date
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
fetch("http://***.***.***.***:3000/rendezvousinsert", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
},
body: formBody
});
};
render() {
return (
<Container style={{ alignItems: "center" }}>
<ImageBackground source={bg} style={styles.Backgroundcontainer}>
<Content>
<Form style={{ alignItems: "center", marginTop: 15 }}>
<Image source={logo} style={styles.logo} />
<Text
style={{
fontFamily: "Ionicons",
fontSize: 20,
fontWeight: "bold",
color: "#0c75b0",
textAlign: "center",
marginTop: 35
}}
>
{" "}
votre rendez vous avec le docteur du spécialité{" "}
</Text>
<Picker
mode="dialog"
iosHeader="Select your SIM"
iosIcon={<Icon name="arrow-down" />}
style={{ width: WIDTH }}
selectedValue={this.state.selected}
onValueChange={this.onValueChange.bind(this)}
itemStyle={{
backgroundColor: "grey",
color: "blue",
fontFamily: "Ionicons",
fontSize: 17
}}
>
<Picker.Item label="Wallet" value="key0" />
<Picker.Item label="ATM Card" value="key1" />
<Picker.Item label="Debit Card" value="key2" />
<Picker.Item label="Credit Card" value="key3" />
<Picker.Item label="Net Banking" value="key4" />
</Picker>
<Text
style={{
fontFamily: "Ionicons",
fontSize: 20,
fontWeight: "bold",
color: "#0c75b0",
textAlign: "center"
}}
>
{" "}
Au nom du{" "}
</Text>
<Picker
mode="dialog"
iosHeader="Select your SIM"
iosIcon={<Icon name="arrow-down" />}
style={{ width: WIDTH }}
selectedValue={this.state.selected}
onValueChange={this.onValueChange.bind(this)}
>
<Picker.Item label="Wallet" value="key0" />
<Picker.Item label="ATM Card" value="key1" />
<Picker.Item label="Debit Card" value="key2" />
<Picker.Item label="Credit Card" value="key3" />
<Picker.Item label="Net Banking" value="key4" />
</Picker>
<Text
style={{
fontFamily: "Ionicons",
fontSize: 20,
fontWeight: "bold",
color: "#0c75b0",
textAlign: "center"
}}
>
{" "}
A la date du
</Text>
<DatePicker
defaultDate={new Date(2018, 4, 4)}
minimumDate={new Date(2018, 1, 1)}
maximumDate={new Date(2018, 12, 31)}
locale={"fr"}
timeZoneOffsetInMinutes={undefined}
modalTransparent={false}
animationType={"fade"}
androidMode={"default"}
placeHolderText="cliquez ici pour choisir une date"
textStyle={{
fontFamily: "Ionicons",
fontWeight: "bold",
color: "#cf1d76",
textAlign: "center"
}}
placeHolderTextStyle={{ color: "#D3D3D3" }}
onDateChange={(this.setDate, date => this.setState({ date }))}
disabled={false}
/>
<Text
style={{
fontFamily: "Ionicons",
fontSize: 15,
fontWeight: "bold",
color: "#cf1d76",
textAlign: "center"
}}
>
Date: {this.state.chosenDate.toString().substr(4, 12)}
</Text>
<Button
onPress={this.addRendezVous.bind(this)}
style={{
justifyContent: "center",
marginHorizontal: "30%",
color: "#0c75b0",
marginTop: 30,
width: 170
}}
>
<Iconbtn
name="md-checkbox"
style={{
fontSize: 24,
marginLeft: 5,
borderRadius: 25,
color: "white"
}}
/>
<Text>envoyer</Text>
</Button>
</Form>
</Content>
</ImageBackground>
</Container>
);
}
}
export default Prendre;
const styles = StyleSheet.create({
container: {
flex: 1
},
Backgroundcontainer: {
flex: 1,
alignItems: "center"
},
logo: {
justifyContent: "center",
width: 128,
height: 155,
marginTop: 5
}
});
找到了一个临时解决方案:我使用 moment 转换了日期并且它有效,但我想知道为什么它一开始不起作用解决方案代码 ` addRendezVous = () => { const date = moment(this.state.date).format("YYYY/MM/DD"); Alert.alert(日期);
var details = {
'idmedecin': 1,
'idpatient': 1,
'etat': 1,
'date': date
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
fetch('http://192.168.1.107:3000/rendezvousinsert', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
},
body: formBody
})
}`
最佳答案
在构造函数中,您将状态初始化两次。
this.state = {
idmedecin: "2",
idpatient: "1",
etat: "1",
date: ""
};
this.state = { chosenDate: new Date() };
当您第二次使用此值时,日期的初始值将变为 null 而不是空字符串,因为它已被覆盖。这使得 this.state.date = null。你应该做的是
this.state = {
idmedecin: "2",
idpatient: "1",
etat: "1",
date: ""
chosenDate: new Date()
};
这将使其余变量保持不变。现在,您应该将 this.state.date 视为空字符串,而不是 null。
关于mysql - 在来自状态的发布请求中发送日期始终返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55672245/
最近开始学习oracle和sql。 在学习的过程中,我遇到了几个问题,我的 friend 在接受采访时被问到这些问题。 SELECT * FROM Employees WHERE NULL IS N
这个问题在这里已经有了答案: Can we subtract NULL pointers? (4 个回答) 关闭 2 个月前。 是否定义了NULL - NULL? (char *)NULL - (ch
是否有推荐的方法(根据 .net Framework 指南)检查 null,例如: if (value == null) {//code1} else {//code2} 或 if (value !=
我正在尝试将值插入数据库,但出现这样的错误任何人都可以告诉我为什么该值为空,如下所示: An exception occurred while executing 'INSERT INTO perso
这个问题在这里已经有了答案: String concatenation with a null seems to nullify the entire string - is that desire
您好,我正在 Android 联系人搜索模块中工作。我正在查询下方运行。 cur = context.getContentResolver().query(ContactsContract.Data.
下面的 SQL 表定义说明了从我的 MYSQL 数据库创建表的语句之一,该数据库是由我公司的前开发人员开发的。 DROP TABLE IF EXISTS `classifieds`.`category
我主要有应用程序开发背景。在编程语言中 variable == null或 variable != null有效。 当涉及到 SQL 时,以下查询不会给出任何语法错误,但也不会返回正确的结果。 sel
我在尝试检查某些元素是否为 NULL 时遇到段错误或不。任何人都可以帮忙吗? void addEdge(int i, int j) { if (i >= 0 && j > 0)
在 SQL 服务器中考虑到以下事实:Col1 和 Col2 包含数值和 NULL 值 SELECT COALESCE(Col1,Col2) 返回一个错误:“COALESCE 的至少一个参数必须是一个不
在 SQL 服务器中考虑到以下事实:Col1 和 Col2 包含数值和 NULL 值 SELECT COALESCE(Col1,Col2) 返回一个错误:“COALESCE 的至少一个参数必须是一个不
下面查询的关系代数表达式是什么?我找不到“Is Null”的表达式。 SELECT reader.name FROM reader LEFT JOIN book_borrow ON reader.ca
我正在尝试使用三元运算符来检查值是否为 null 并返回一个表达式或另一个。将此合并到 LINQ 表达式时,我遇到的是 LINQ 表达式的 Transact-SQL 转换试图执行“column = n
我在给定的代码中看到了以下行: select(0, (fd_set *) NULL, (fd_set *) NULL, (fd_set *) NULL, &timeout); http://linux
var re = /null/g; re.test('null null'); //> true re.test('null null'); //> true re.test('null null')
这个问题在这里已经有了答案: 关闭 13 年前。 我今天避开了一场关于数据库中空值的激烈辩论。 我的观点是 null 是未指定值的极好指示符。团队中有意见的其他每个人都认为零和空字符串是可行的方法。
由于此错误,我无法在模拟器中运行我的应用: Error:null value in entry: streamOutputFolder=null 或 gradle - Error:null value
我正在尝试在 Android 应用程序中创建电影数据库,但它返回错误。知道这意味着什么吗? public Cursor returnData() { return db.query(TABLE
我一直在检查浏览器中的日期函数以及运行时间 new Date (null, null, null); 在开发工具控制台中,它给出了有效的日期 Chrome v 61 回归 Sun Dec 31 189
为什么 NA==NULL 会导致 logical (0) 而不是 FALSE? 为什么 NULL==NULL 会导致 logical(0) 而不是 TRUE? 最佳答案 NULL 是一个“零长度”对象
我是一名优秀的程序员,十分优秀!