угловая 5, Сохранение значения на входах и добавление его к объекту JS - PullRequest
0 голосов
/ 08 мая 2018

Я делаю веб-инструмент под углом 5, чтобы помочь в создании нового XML.

У меня проблемы с передачей значений входов и одновременным сохранением их на одном и том же входе.

У меня есть форма с событием ngSubmit, которая использует в качестве paremeter ссылку на ngForm

<form class="form-group" (ngSubmit)="createSimpleTypeList(f)" #f="ngForm" >
    <div class="container">
        <div class="row">
            <div class="col-sm-12" >
                <button class="btn btn-danger flex ">Construir Json!</button>
            </div>
        </div>
    </div>
    <hr>

    <div class="container" *ngFor="let type of objSimpleType;let i =index">
        <hr>
        <div class="row">
            <div class="col-sm-3">
                <input type="text" [(ngModel)]="type.name" name="nameType"/> 
                <br>
                Inserte el nombre del tipo:     
            </div>
            <div class="col-sm-3">
                <input type="text"    [(ngModel)]="type.type"   name="type"/> 
                <br>
                Inserte el tipo:    
            </div>

            <div class="col-sm-2">
                <input type="number"  [(ngModel)]="type.min"  name="min"/> 
                <br>
                Inserte minimo: 
            </div>
            <div class="col-sm-2">
                <input type="number"  [(ngModel)]="type.max" name="max"/> 
                <br>
                Inserte maximo: 
            </div>
            <div class="col-sm-2">
                <input type="checkbox" name="number" />   Numero?
            </div>
        </div>  
    </div>
    <hr>
</form>

Это метод createSimpleTypeList

console.log(form.value.nameType);
this.objSimpleType.push({
    '-name': form.value.nameType,
    'xsd:restriction': {
        '-base': form.value.type,
        'xsd:minLength': {
            '-value': form.value.min
        },
        'xsd:maxLenght': {
            '-value': form.value.max
        }
    }
});
this.typeList.emit(form.value.nameType);
this.sharedNameSpace.emit(this.namespace);

Проблема, с которой я столкнулся, заключается в том, что я не нашел способа вставить новые элементы в objSimpleType без стирания значения входных данных, и если мне удастся не удалить значение входных данных, тогда значения формы не будут выдвигаться .

вот так это выглядит. как сейчас работают входы

Это то, что мне нужно

Как должны быть входные данные Я все еще новичок в Angular, и я был бы очень признателен за помощь.

1 Ответ

0 голосов
/ 10 мая 2018

Теперь, когда я посмотрел, нашел решение, у меня были две ошибки в коде выше.

Сначала моя логика не была выполнена должным образом, мне нужно было работать с уникальными идентификаторами и вызывать их динамически.

Во-вторых, у меня возникли проблемы с их вызовом, и после прочтения я обнаружил, что могу вызывать параметры Json в квадратных скобках [].

"form.value ['nameType' + this.i]" - Что-то вроде этого - то, что мне нужно.

...