我对流星和反应很陌生。假设我在react组件中有以下内容:
getMeteorData() {
var myForm = ProjectForm.findOne({_id:this.props.router.params._id});
var projects = ProjectForm.find({});
return {myForm:myForm,projects:projects};
// doing a console.log(myForm); would give you something like
/*
input1:my text 1
input2:some other text
input3:something else
etc....
*/
},
renderListProjects() {
return this.data.projects.map(function(projectform,i) {
return <li key={"li"+i}><a href={Meteor.absoluteUrl()+'project/' + projectform.username +'/' +projectform._id} key={"a"+i}>Project {projectform._id}</a></li>;
});
},
getInitialState() {
return Projects.findOne({this.props.router.params._id}, {sort: {createdAt: -1}});
},
render() {
return (
<div>
<ul>{this.renderListProjects()}</ul>
<form>
<span>Hello this is some text</span>
<input type="text" ref="input1" />
<p>Blah blah this is boring</p>
<input type="text" ref="input2" />
<img src="image-of-a-kangaroo.png" />
<input type="text" ref="input3" />
<ul>
<li>Buy brocolli</li>
<li>Buy oregano</li>
<li>Buy milk</li>
</ul>
<input type="text" ref="input4" />
...
<textarea ref="input100"></textarea>
<input type="text" ref="input101" />
<p><strong>Yes, I like pizza!</strong> But my porcupine gets sick eating pizza.</p>
...
</form>
</div>
);
所需额外经费
>
如果有人从renderlistprojects
单击link1,然后从renderlistprojects
单击link2,则表单必须显示link2的projectform._id
的值。
在DOM中,必须存在href=“project/_id”
属性,以便进行SEO和遵循WCAG。
我尝试将renderListProjects重新定义为
renderListProjects() {
var pj = this
return this.data.projects.map(function(projectform,i) {
return <li key={"li"+i}><a onClick={pj.click(projectform._id)} href={Meteor.absoluteUrl()+'project/' + projectform.username +'/' +projectform._id} key={"a"+i}>Project {projectform._id}</a></li>;
});
},
click(id) {
var currentApp = ProjectForm.findOne({_id:id}, {sort: {createdAt: -1}});
this.setState({input36:input36});
},
但是当我运行我的Meteor+React项目时,我的浏览器崩溃了,因为某种无限循环正在发生。
您所创建的是React调用的受控输入。这意味着React已经在输入中声明了与This.data.myform.input1指向的任何相对应的值。
为了能够更改输入字段,您需要做的是添加一个负责更新值的onChange处理程序。文档非常简单,但我在下面添加了一个小示例来说明它。
class Form extends React.Component {
constructor() {
super();
this.state = {
myForm: {
inputs: [
{value: 1}, {value: 2}, {value: 3}
]
}
};
}
onChange = (index, event) => {
let inputs = this.state.myForm.inputs.slice(0);
inputs[index] = {
value: parseInt(event.target.value, 10)
};
this.setState({
myForm: {
inputs: inputs
}
})
}
render() {
return (<form>
{this.state.myForm.inputs.map((input, index) => {
return (<input onChange={this.onChange.bind(null, index)} value={input.value} key={index} />);
}, this)}
</form>);
}
};
ReactDOM.render(<Form />, document.querySelector('#c'));
问题内容: 我的代码中的元素如下所示: 我想设置它的值,所以我用它的xpath创建了一个web元素: 但是现在我看不到设置值的选项… 问题答案: 使用代替 要么 或使用JavascriptExecutor 要么 或(使用javascript) 希望它能对您有所帮助:)
我想通过Selenium设置日期值。 我正在处理这个页面
我正在处理存在于一个php文件中的html表单,如下所示,我想计算输入的html输入值。 Php/HTML代码: 点击保存后,它会保存在JSON中,如下所示,并输入值列表。此时,我已经输入了值,因此在JSON中显示如下: 下面是属于上述html/php代码的表单截图部分: 输入值后,显示如下: 以下是inspect上的html代码: 问题陈述: 我想知道我需要添加什么php代码,以便获得输入值的计
问题内容: 我的代码中有如下所示的元素: 我想设置它的值,所以我用它的xpath创建了一个web元素: 但是现在我看不到设置值的选项… 问题答案: 使用代替 要么 或(使用javascript) 或使用JavascriptExecutor 要么 希望它能对您有所帮助:)
假设我在功能组件中创建了一个变量,如下所示: 如何根据用户输入的内容更改此值。我的想法是: 但是它不知道什么是值,我怎么能得到值到我的quizName变量?
问题内容: 我正在使用react-native,并且创建了一个Alert元素。 现在,我想对其应用某种样式。假设我要为其应用红色背景色和白色的文本。 我该如何实现?可能吗? 问题答案: 您可以使用自定义库,例如react-native-modalbox。 您将可以根据需要设置样式的样式: 您可以使用打开模态 查看示例以查看更多选项。 奖励 :如果您想为react-native找到一个好的库,请尝试