【发布时间】:2020-07-10 16:35:10
【问题描述】:
我在这里有一个文本框组件,我在其中导入了一个名为“添加”的“+”按钮。添加按钮组件位于此代码中的这些特定标记中。
<Add clickEvent={this.addTextBox}>+</Add>
+ 按钮直接出现在文本框的顶部,但我希望它在左侧(以及一些填充)
这是 textbox.jsx 的所有代码(我使用的是 React.js)
import React, { Component } from "react";
import Add from "./add/add";
class Textbox extends Component {
state = {
boxtext: "",
addBox: [],
};
handleChange = () => {
// The line below creates a copy of the state, using the spread operator
let fields = { ...this.state.boxtext };
fields = fields + "+";
this.setState({ fields });
};
//Handle box addition click
addTextBox = () => {
const boxAdded = [...this.state.addBox];
boxAdded.push(1);
this.setState({
addBox: boxAdded,
});
};
render() {
return (
<div
style={{
position: "absolute",
left: "50%",
top: "17%",
transform: "translate(-50%, -50%)",
}}
className="form-group"
>
<label for="exampleLogicSymbol">Logic Operator</label>
<input
type="text"
className="form-control"
id="exampleInputLogic"
aria-describedby="logicHelp"
placeholder="enter formula"
onChange={this.props.handleInput}
value={this.props.content}
/>
<Add clickEvent={this.addTextBox}>+</Add>
{this.state.addBox.map(() => {
return (
<input
type="text"
className="form-control"
id="exampleInputLogic"
aria-describedby="logicHelp"
placeholder="ENTER"
/>
//clickevent is made up name (property)
);
})}
</div>
);
}
}
export default Textbox;
添加组件的代码(add.jsx)
import React, { Component } from "react";
class Add extends Component {
state = {};
render() {
return (
<div
className="App"
style={{
position: "absolute",
left: "30%",
top: "19%",
transform: "translate(-50%, -50%)",
}}
>
<button
onClick={this.props.clickEvent}
className={"btn btn-success btn-sm m-2 p-1 container"}
>
+
</button>
</div>
);
}
}
export default Add;
【问题讨论】:
-
只需用一个简单的按钮替换您的
Add组件,该按钮就会出现在文本框旁边。你可能有一些代码使它成为display: block,或者一个<div>包装你的Add组件或一些css。如果您需要更多帮助,请提供您的Add组件的代码。 -
我给出了添加组件的代码。我不想用一个简单的按钮替换它,我现在该如何更改它?
标签: javascript css reactjs button textbox