我正在制作一个React应用程序,允许你创建一个列表并保存它,但React一直在给我一个警告,我的元素没有唯一的关键道具(元素List/ListForm).我应该如何为用户创建的元素创建唯一的关键道具?下面是我的React代码
var TitleForm = React.createClass({
handleSubmit: function(e) {
e.preventDefault();
var listName = {'name':this.refs.listName.value};
this.props.handleCreate(listName);
this.refs.listName.value = "";
},
render: function() {
return (
<div>
<form onSubmit={this.handleSubmit}>
<input className='form-control list-input' type='text' ref='listName' placeholder="List Name"/>
<br/>
<button className="btn btn-primary" type="submit">Create</button>
</form>
</div>
);
}
});
var ListForm = React.createClass({
getInitialState: function() {
return {items:[{'name':'item1'}],itemCount:1};
},
handleSubmit: function(e) {
e.preventDefault();
var list = {'name': this.props.name, 'data':[]};
var items = this.state.items;
for (var i = 1; i < items.length; i++) {
list.data.push(this.refs[items[i].name]);
}
this.props.update(list); …Run Code Online (Sandbox Code Playgroud) 我目前有两个文件,一个app.js和一个index.html,当我尝试使用一些CSS类渲染一个表单时,HTML元素显示但缺少类.
这是我的app.js:
var Form = React.createClass({
handleClick: function() {
alert('click')
},
render: function() {
return (
<div>
<input class='form-control' type='text' name='list-name'/>
<button class="btn btn-primary" onClick={this.handleClick}>Submit</button>
</div>
);
}
});
ReactDOM.render(<Form/>,document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)
这是我的HTML正文:
<div class="container">
<h1>Title</h1>
<div id="app" class="center"></div>
</div>
Run Code Online (Sandbox Code Playgroud) 下面的代码是我到目前为止的代码.当它写入.csv时,它会覆盖我之前在文件中写入的内容.如何以不擦除我之前文本的方式写入文件.(我的代码的目标是拥有一个人输入他们的名字并让程序记住它们)
def main(src):
try:
input_file = open(src, "r")
except IOError as error:
print("Error: Cannot open '" + src + "' for processing.")
print("Welcome to Learner!")
print("What is your name? ")
name = input()
for line in input_file:
w = line.split(",")
for x in w:
if x.lower() == name.lower():
print("I remember you "+ name.upper())
else:
print("NO")
a = open("learner.csv", "w")
a.write(name)
a.close()
break
if __name__ == "__main__":
main("learner.csv")
Run Code Online (Sandbox Code Playgroud) 所以我有一个问候程序,旁边有3个JTextfields和3个JLabel,我想添加助记符,我相信这是JTextField旁边的JLabel中其中一个字母下面的小写下划线.当用户按下Alt +带下划线的键时,光标将转到它旁边的JTextfield.这是我的代码,所以只显示没有助记符的简单问候语
import javax.swing.*;
import javax.swing.UIManager.LookAndFeelInfo;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class GreetingApp extends JFrame {
private static final long serialVersionUID = 1L;
private final JTextField firstNameField,middleNameField,lastNameField;
private final JButton greetingButton;
public GreetingApp() {
super("Greetings");
this.firstNameField = new JTextField(8);
this.middleNameField = new JTextField(8);
this.lastNameField = new JTextField(8);
this.greetingButton = new JButton("Get Greeting");
greetingButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent ae){
showGreeting();
}
});
final Container mainPanel = getContentPane();
mainPanel.setLayout(new BorderLayout());
final JPanel inputPanel = new JPanel();
final …Run Code Online (Sandbox Code Playgroud) 所以目前我的程序只显示GUI右下角的一个按钮.但我想在右下角显示两个按钮.任何想法如何将两个按钮设置到右上角?到目前为止,这是我的代码:
import javax.swing.*;
import java.awt.*;
public class Other extends JFrame{
private static final long serialVersionUID = 1L;
public Other() {
super("Buttons");
final Container mainPanel = getContentPane();
mainPanel.setLayout(new BorderLayout());
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new BorderLayout());
JPanel inputPanel = new JPanel();
inputPanel.add(new JLabel("RANDOM TEXT HERE"));
inputPanel.add(new JLabel("RANDOM TEXT HERE"));
inputPanel.add(new JLabel("RANDOM TEXT HERE"));
JButton s = new JButton("first");
JButton l = new JButton("second");
buttonPanel.add(s,BorderLayout.LINE_END);
buttonPanel.add(l,BorderLayout.LINE_END); //<-- not working
mainPanel.add(inputPanel,BorderLayout.PAGE_START);
mainPanel.add(buttonPanel,BorderLayout.PAGE_END);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] …Run Code Online (Sandbox Code Playgroud)