Verwendung Angular Formly Ich habe den folgenden Controller und die Vorlage eingerichtet. Ich lasse den Controller die Werte, die der Benutzer eingegeben hat, in alle Felder drucken, mit Ausnahme derer, die der Benutzer nicht berührt hat. Das heißt, wenn der Benutzer überhaupt nichts in ein Feld schreibt, ist dieses Feld nicht enthalten. Wenn der Benutzer jedoch etwas eingibt und dann löscht, wird das Feld mit einer leeren Zeichenfolge eingeschlossen.Leere Felder, die nicht im Formular enthalten sind, senden bei Verwendung von Angular Formly
Wie schließe ich die Felder ein, die der Benutzer nicht berührt hat?
// fooController.js
vm.fooModel= {};
vm.fooFields = [
{
key: 'foo',
type: 'input'
templateOptions: {
label: 'Foo',
placeholder: 'Foo'
}
}
];
vm.onSubmit = function() {
console.log(vm.fooModel)
}
// fooTemplate.html
<form ng-submit="vm.onSubmit()" novalidate>
<formly-form model="vm.fooModel" fields="vm.fooFields"></formly-form>
<button type="submit" class="btn btn-info submit-button">Submit</button>
</form>
Ich würde nicht die leere Zeichenfolge als Standardwert für jedes einzelne Feld setzen bevorzugen.
kann ein einfaches Beispiel here
ich dieses Modul weiß es nicht, aber was ich habe für das schnelle Lesen auf die Dokumentation, die ich ist tat: ** Sie müssen den DefaultValue ** verwenden. – developer033
Es ist das normale Verhalten; Wenn Sie einen Standardwert wie "" (das ist nicht null) benötigen, fügen Sie einfach eine foreach am Anfang der Funktion ein, um alle Nullwerte ad assign "" zu erhalten. – MrPk
@MrPk Wie würdest du diese foreach schreiben? Welche Liste würdest du durchqueren? –