169 похожих чатов

Есть карточка клиента. при сохранении в ней выполняется функция save() Изначально

считаем, что клиент новый, но если выяснится, что он уже есть, то переключимся на его карточку

Похоже что после переключения clientDOM не переключается на карточку существующего клиента. Как Сказать что clientDOM теперь карточка с clientId??

<client-card ref="clientDOM" v-if="newClient"/>
<client-card ref="clientDOM" v-else :id="clientId"/>

const clientDOM = ref(null)
const save = () => clientDOM.value.save()

4 ответов

17 просмотров

А зачем дублировать компоненты? Оставь один, а айди будет признаком того, новый клиент или нет. Есть айди - старый клиент, нет айди - новый

Alexey-Turdakin Автор вопроса
Евгений
А зачем дублировать компоненты? Оставь один, а айд...

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

Alexey Turdakin
карточка при моунте создает ид клиента. там заполн...

Карточка клиента уже открыта, и после запроса выясняется, что нужно обновить данные в ней. Просто дергаем внутри метод, который будет подставлять новые данные в уже отрендеренную карточку

Alexey Turdakin
карточка при моунте создает ид клиента. там заполн...

у тебя архитектура компонента в целом неверная - он должен уметь реагировать на изменения пропсов, а не делать что-то один раз при маунте, у тебя весь смысл от реактивности теряется поэтому лучше пересмотри ее и научись реагировать на изменение пропса костыльным решением будет повесить key на компонент и пересоздавать его при изменении clientId, но так делать не нужно

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
4
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта