Слияние кода завершено, страница обновится автоматически
import { computed } from 'vue'
export const saulVModel = <T extends Readonly<{ [k: string]: any }>, K extends keyof T>(
props: T,
propName: K,
emit: (...args: any[]) => void
) => {
return computed({
get() {
if (typeof props[propName] === 'object') {
return new Proxy(props[propName], {
set(obj, name, val) {
emit(`update:${String(propName)}`, { ...obj, [name]: val })
return true
}
})
}
return props[propName]
},
set(val) {
emit(`update:${String(propName)}`, val)
}
})
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )