class CriteriaSetValue extends Component {
state = {
count: 0,
tableName: "",
fieldName:"",
tables: [],
fields: [],
addLine: [],
addField: []
};
onSubmit = e => {
e.preventDefault();
const addField = this.state.addField;
const size = addField.length + 1;
addField.push(size);
this.setState({
addField
});
addNewLine = event => {
event.preventDefault();
const addLine = this.state.addLine;
const size = addLine.length + 1;
const nextLine = this.state.count + 1;
addLine.push(size);
this.setState({
count: nextLine,
addLine
});
};
render() {
const {showForm, tableName, fieldName } = this.state;
const { props, state } = this;
return (
<React.Fragment>
<div className="form-wrapper">
<div className="row">
<div className="col-10 container">
<form onSubmit={this.submit} className="card">
<div className="card-header">
<h3 className="card-title">
Criteria Set
{/* <Locale value="std.formupload" /> */}
</h3>
</div>
<div className="card-body">
<div className="row">
<div className="col-md-7 col-lg-8">
<div className="add-line">
<Button
icon
labelPosition="left"
onClick={this.addNewLine}
>
Add Line
<Icon name="plus" />
</Button>
{this.state.addLine.map(index => {
return (
<div
className="field-line"
style={{ marginTop: "30px" }}
key={index}
id={index}
>
<h4 className="field-button">Line {index}</h4>
<Button
className="field-button"
icon
onClick={this.toggleForm}
>
<Icon name="box" />
</Button>
</div>
);
})
}
{
this.state.addField.map(index => {
return (
<React.Fragment>
<div
className="field-button"
style={{
marginTop: "20px",
paddingLeft: "20px"
}}
key={index}
id={index}
>
<h4
className="field-button"
onclick={this.addCriteriaValue}
>
<span>
table.field
</span>
</h4>
<Button
className="field-button"
icon
onClick={this.toggleDelete}
>
<Icon name="delete calendar" />
</Button>
</div>
<br></br>
</React.Fragment>
);
})
}
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</React.Fragment>
);
}
};
Это как-то связано с тем, чего я пытаюсь достичь: https://codesandbox.io/s/3vqyo8xlx5
Но я хочу, чтобы ребенок появлялся под предпочтением того, гдеНажата кнопка «Добавить дочерний элемент», а не последняя.
Я работаю над созданием нескольких полей, которые будут отображаться под каждой строкой, когда нажата кнопка рядом со строкой1, строкой2 и т. Д., Но в настоящее время это полепереход к последним строкам при нажатии кнопки, она не отображается на соответствующей строке.![enter image description here](https://i.stack.imgur.com/Am9U0.png)
Мне удалось показать линии, когда нажата кнопка «Добавить линию», и я также смог показать поле, когда кнопка рядом с «Линия № 1»нажата.
![enter image description here](https://i.stack.imgur.com/mBKze.png)
Я хочу, чтобы поля "Строка № 1" отображались под строкой 1 при нажатии кнопки поля, поле для "Строка № 2 », которая отображается под строкой 2 при нажатии кнопки рядом с полем и т. Д.
![enter image description here](https://i.stack.imgur.com/R0vbb.png)