我正在尝试提供一组可以重复或删除的输入。
我发现并使用了以下方法的组合:https :
//jsfiddle.net/69z2wepo/36745/
并且(因为上面的代码无法处理删除操作):https :
//codepen.io/lichin-lin/pen/ MKMezg
我可能不需要指向一个特定的输入,因为在我的界面中,您应该始终只添加一个新的(如果之前的一个已填充)(我将在稍后设置条件),因此仅删除最后一个。因此,我可以使用一个简单的计数器来解决所有这些问题(尽管对于不同的输入类型,我将需要3-4个计数器)。
/* ************************************* */
/* ******** IMPORTS ******** */
/* ************************************* */
import React, { Component } from 'react';
import { Card, CardBlock, Button, InputGroup, Input } from 'reactstrap';
import ProviderInfos from '../ProviderInfos/ProviderInfos';
/* ************************************* */
/* ******** VARIABLES ******** */
/* ************************************* */
const count = 0;
/* ************************************* */
/* ******** COMPONENT ******** */
/* ************************************* */
export default class SearchExtendedComponent extends Component {
constructor(props) {
super(props);
this.state = { inputList: [] };
this.incrementCount = this.incrementCount.bind(this);
this.decrementCount = this.decrementCount.bind(this);
}
incrementCount() {
const inputList = this.state.inputList;
this.setState({
count: this.state.count + 1,
inputList: inputList.concat(<Input key={count} />),
});
}
decrementCount() {
const inputList = this.state.inputList;
this.setState({
count: this.state.count - 1,
inputList: inputList.concat(<Input key={count} />),
});
}
render() {
return (
<Card>
<CardBlock className="main-table">
<InputGroup>
<Input placeholder="Type1" />
<ProviderInfos />
</InputGroup>
{/* THE IDEA IS TO HAVE AN ADD AND REMOVE BUTTON FOR EACH TYPE */}
<InputGroup className="add-more">
<button onClick={this.incrementCount}>Add input</button>
{this.state.inputList}
</InputGroup>
<InputGroup>
<Input placeholder="Type2" />
<ProviderInfos />
</InputGroup>
<InputGroup>
<Input placeholder="Type3" />
<ProviderInfos />
</InputGroup>
<Button color="secondary">Options</Button>{' '}
<Button id="btn">Exécuter</Button>
</CardBlock>
</Card>
);
}
}
我在控制台中收到一个错误:
Warning: flattenChildren(...): Encountered two children with the same key, `1:$0`. Child keys must be unique; when two children share a key, only the first child will be used.
这似乎与发生的情况相符:
在“添加”按钮停止工作之后,仅添加第一个新输入。
如您所见,我当前正在声明函数中的输入(或者至少在我看来是……。那不是什么const inputList = this.state.inputList;
?),我认为这就是我应该在“计数”旁边声明的问题“海事组织,但我试图做到:
const inputList = this.state.inputList;
const propTypes = { inputList: React.PropTypes.inputList, };
导致应用程序根本无法加载:“无法读取未定义的属性’state’”。
不仅如此,但对我而言,这似乎不是干净的重构代码,因为我已经做了两次,请记住,由于添加和删除功能(和按钮)都将要重复此代码,因此必须有3到4种不同的输入类型。
在初始状态下添加计数。
this.state = { inputList: [] , count :0};
然后删除这行 const count = 0;
由于您使用count作为密钥,因此也将其更改为。
<Input key={this.state.count} />
我为另一个问题做了一个jssfiddle,这个概念很相似,因此可能会有所帮助。
我一直习惯于使用jquery或其他javascript框架,但现在我没有框架可供使用,所以我想看看是否有人知道我如何在可能的情况下使用纯javascript实现这一点。 基本上我有一个这样的div 我需要的一个是,当点击AddMore按钮时,我需要基本上添加更多的宽度和长度字段,或者创建一个完整的结构,就像上面包含所有div的结构,或者只是插入一个新的span标记,其中包含现有div下面的字段。
问题内容: TL; DR:如何在ModelForm中为ForeignKey添加“添加新”按钮? 长版:我在项目中使用Django 1.7。我的models.py中有这两个模型 [省略了一些其他不相关的字段] 我正在使用ModelForm用新命令填充数据库,如下所示: Django在为客户字段添加下拉菜单方面做得很好,并在其中添加了来自客户的条目。不过,我想拥有一个“添加新客户”链接/按钮/以便在添
我有一些问题在按钮中添加代码,所以示例:我在数量上输入2它将*价格和数量示例400*2=800,但当我再次输入2意味着800x2=1600,有人能指导我吗?谢谢,最后2行显示了错误。 `private void jButton2ActionPerformed(java.awt.event.ActionEvt){ int id=integer.parseint(jTextField1.getText
本文向大家介绍使用jQuery在移动页面上添加按钮和给按钮添加图标,包括了使用jQuery在移动页面上添加按钮和给按钮添加图标的使用技巧和注意事项,需要的朋友参考一下 创建按钮 data-role=button 给HTML元素添加 data-role="button" 属性。jQuery Moble就会给此元素增强为按钮样式。 Jquery Mobile框架包含了一组最常用的移动应用程序所需的图标
问题内容: 我只是试图在我的注释点添加一个细节按钮而被卡住,不幸的是,我不知道该怎么做。有人可以帮我吗? 下图显示了我想要实现的目标。谢谢! MapKitViewController: 问题答案: 您做对了,您只需要实现这些方法即可添加按钮以及标题和副标题 iOS 8和Xcode 6 查看我的输出。
问题内容: 我搜索了在jtable中添加按钮的教程,并从http://tips4java.wordpress.com/2009/07/12/table-button- column/ 找到了一个类文件, 该按钮在哪里设置? 问题答案: 它是通过DefaultTableModel中的数据在表渲染器和编辑器中自动设置的。例如,对于表编辑器,代码为: 表模型的值在哪里。有关详细信息,请参见ButtonC