Ich habe rectjs verwendet, um Eingabefelder zu erstellen, die am Ende ein Pluszeichen haben. Wenn sie angeklickt werden, fügt sie ein weiteres Eingabefeld hinzu ... aber mein Problem ist, wenn ich das Eingabefeld entferne fügen sie wieder, es hält multiplizieren ... bitte meinen Code überprüfen und versuchen, es ... wirklich brauchen Ihre Hilfe Jungs Vielen dank im VorausReactjs Hinzufügen und Entfernen von Eingabefeldern
addInput: function(){
var maxField = 10; //Input fields increment limitation
var addButton = $('.add_button'); //Add button selector
var wrapper = $('.field_wrapper'); //Input field wrapper
var fieldHTML = '<div><input class="form-control categ-field" type="text" name="category[]" placeholder="Category" required> <a href="javascript:void(0);" class="remove_button" title="Remove field"><i class=" glyphicon glyphicon-minus-sign text-yellow"></i></a></div>'; //New input field html
var x = 1; //Initial field counter is 1
$(addButton).click(function(){ //Once add button is clicked
if(x < maxField){ //Check maximum number of input fields
x++; //Increment field counter
$(wrapper).append(fieldHTML); // Add field html
}
});
$(wrapper).on('click', '.remove_button', function(e){ //Once remove button is clicked
e.preventDefault();
$(this).parent('div').remove(); //Remove field html
x--; //Decrement field counter
});
},
render:(){
return React.createElement(
"div",
{ className: "field_wrapper" },
React.createElement("input", { type: "text", name: "category[]", className: "form-control categ-field", placeholder: "Category" }),
React.createElement(
"a",
{ className: "add_button", title: "Add field", href:"javascript:void(0);", onClick:this.addInput},
React.createElement("i", { className: "glyphicon glyphicon-plus-sign text-green" })
)
)
}
den Vorschlag zu machen, geht jquery nicht zu verwenden, um mit zu reagieren. Es macht den virtuellen Doms-Erwartungen zu schaffen. – jmunsch
siehe: http://stackoverflow.com/questions/30195720/how-to-use-react-createelement-children-parameter-without-jsx – jmunsch