Angular Form Builder - установить значение на основе выбранного свойства выбора значения - PullRequest
0 голосов
/ 11 октября 2019

Вот моя группа инициализации Angular Form Builder:

    contactReason: this.formBuilder.group({
        description: '',
        source: this.sourceType()
    })

У меня есть выборка с предопределенными значениями для «описания», это может быть много разных значений, например, «запрос информации». Вот пример сопоставления, используемыйв другом месте моего приложения:

public ContactReason = {
    "request for information": 'incoming',
    "other incoming": 'incoming',
    "call update": 'outgoing',
    "information provided": 'outgoing',
    "attempted contact": 'outgoing',
    "regular contact": 'outgoing',
    "other outgoing": 'outgoing',
};

Как видите, каждое описание присваивается либо «входящему, либо исходящему».

Я хочу создать метод для этого сопоставления, чтобы при выборе описания оно отображало «входящее или исходящее» здесь ...

source: this.sourceType()

private sourceType() {
//logic for source mapping based on description.value
}

Любая помощь по вышеуказанному методу будетбыть оцененнымСпасибо

1 Ответ

0 голосов
/ 11 октября 2019

Я сопоставил его с тем, как задал вопрос, используя массив сопоставленных значений. Довольно прямо, но оставлю для справки.

public logEntryContactReason = {
        "request for information": 'incoming',
        "other incoming": 'incoming',
        "case update": 'outgoing',
        "information provided": 'outgoing',
        "attempted contact": 'outgoing',
        "regular contact": 'outgoing',
        "other outgoing": 'outgoing',
    };

private sourceType() {
    const data = this.contactForm.value;
   return this.logEntryContactReason[data.contactReason.description]
}
...