Mam przypadek, w którym po zaznaczeniu radiobuttona podstawiany jest obrazek .svg, a na drugim pojawia się puste pole. Wygląda to tak:
handleChange(option: QuestionnaireModel, event: any): void {
if (this.isRadioButtonSelected(option, event, true)) {
document.getElementById(`img-true-${option.controlName}`).setAttribute('src', './assets/ic_radio_ok.svg');
document.getElementById(`img-false-${option.controlName}`).setAttribute('src', './assets/ic_radio_select.svg');
} else if (this.isRadioButtonSelected(option, event, false)) {
document.getElementById(`img-false-${option.controlName}`).setAttribute('src', './assets/ic_radio_ok.svg');
document.getElementById(`img-true-${option.controlName}`).setAttribute('src', './assets/ic_radio_select.svg');
}
}
Wszystko działa poprawnie, problem w tym, że na Chrome po pierwszym naciśnięciu któregokolwiek radiobuttona po załadowaniu strony zajmuje ok. 1 s podstawienie tej grafiki. Później wszystko odbywa się w rzeczywistym tempie. Podejrzewam, że problem wynika z tego, że w momencie podstawienia źródła obrazka ten asset jest po prostu ładowany. Ma ktoś pomysł, jak to rozwiązać? Czy może da się załadować te assety już w momencie, jak powstaje komponent? Czy może przyczyna leży gdzieś indziej?
darkrat