【发布时间】:2020-01-21 13:24:57
【问题描述】:
我把我的问题告诉你
在下面的代码中,我试图从 API 中检索电话号码,然后将它们显示在卡片中;在每张卡片中,我都有不同的数字显示
而且在每张卡片中,我都有一个输入字段来输入我之前获得的电话号码。
我的问题是我不想用恢复的号码手动填写输入。
所以基本上我想启动我的功能而不必手动填写此字段。
你知道怎么做吗? 我试图简化代码,使其尽可能清晰 感谢您的帮助内夫
import React, { Component } from 'react';
import { CardText, Card,Row, Col, CardTitle, Button } from 'reactstrap';
import axios from 'axios'
const entrypoint = process.env.REACT_APP_API_ENTRYPOINT+'/api';
class AdminPage extends Component {
constructor(props) {
super(props);
this.state = {
data: [],
message: {
to: '',
body: 'hola amigo :)'
},
submitting: false,
error: false
};
this.onHandleChange = this.onHandleChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
}
onSubmit(event) {
event.preventDefault();
this.setState({ submitting: true });
fetch('/api/messages', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(this.state.message)
})
.then(res => res.json())
.then(data => {
if (data.success) {
this.setState({
error: false,
submitting: false,
message: {
to: '',
body: ''
}
});
} else {
this.setState({
error: true,
submitting: false
});
}
});
}
// rest of the component
onHandleChange(event) {
const name = event.target.getAttribute('name');
this.setState({
message: { ...this.state.message, [name]: event.target.value }
});
}
getRandom = async () => {
const res = await axios.get(
entrypoint + "/alluserpls"
)
this.setState({ data: res.data })
}
componentDidMount() {
this.getRandom()
}
render() {
let datas = this.state.data.map(datass => {
const status = JSON.parse(localStorage.getItem("validated-order")||"{}")[datass.id];
return (
<div>
< Col sm="12" key={datass.id} className="wtfFuHereIsForOnlyBackGroundColorForCol12Nice">
<div key="a">
<Card body className="yoloCardBody">
<CardText> Téléphone {datass.phone}</CardText>
<form
onSubmit={this.onSubmit}
className={this.state.error ? 'error sms-form' : 'sms-form'} >
<div>
<input
type="tel"
name="to"
id="to"
value={this.state.message.to}
onChange={this.onHandleChange}
/>
</div>
<Button className="buttonForLancerMaybe" type="submit" disabled=
{this.state.submitting}>SMS</Button>
</form>
</Card>
</div>
</Col>
</div>
)
})
return (
<div> <div>
<div>
{datas}
</div>
</div>
</div>
<div className="box">
</div>
</div>
)
}
}
export default AdminPage
【问题讨论】:
-
嗨,我在你当前的代码中找不到这个 开始标签的位置,你能编辑你的代码吗(我猜它缺少什么)。所以你想要的只是以某种方式显示你在提交的表单输入中得到的数字?对?某事喜欢(this.state.message = datass.phone)?
-
@blackSheep 你好,是的,很抱歉错过了干净的代码^^我有编辑,目前我必须在输入字段中输入数字才能发送短信我不想再手动填写在著名的输入字段中,以便自动发送短信以寻求帮助
-
顺便说一句,您的代码中仍然缺少
结束标记 -
@blackSheep 我再次编辑对不起错过我的页面太长了链接所有^^所以我尝试清理帖子^^
标签: javascript reactjs input