fix v-sl-model for vars passed via setup()

feat/vaults
Tomáš Mládek 2021-07-14 00:22:42 +02:00
parent 1ae89d38f8
commit 4c7b3f2942
1 changed files with 13 additions and 1 deletions

View File

@ -18,10 +18,22 @@ app.directive("sl-model", {
| undefined;
const value = slElement?.value;
if (value && binding.instance) {
(binding.instance.$data as { [key: string]: unknown })[binding.arg as string] = value;
if (Object.hasOwnProperty.bind(binding.instance)(binding.arg!)) {
(binding.instance as any)[binding.arg!] = value;
} else {
const data = (binding.instance.$data as { [key: string]: unknown });
if (data.hasOwnProperty(binding.arg!)) {
data[binding.arg!] = value;
} else {
console.error(`No property "${binding.arg}" exists on instance.`)
}
}
}
});
},
mounted: (element: SlInput, binding: DirectiveBinding<string>) => {
element.value = (binding.instance as any)[binding.arg!];
},
updated: (element: Element, binding: DirectiveBinding<string>) => {
const slElement = element as typeof SlInput.prototype | undefined;
if (slElement) {