修改take()的获取值方法

This commit is contained in:
浔阳陌客 2024-04-25 21:16:28 +08:00
parent 587d5f2112
commit 7a46168ed2
2 changed files with 16 additions and 17 deletions

View file

@ -246,11 +246,9 @@ export default class PluginSample extends Plugin {
step: 1, step: 1,
}, },
action:{ action:{
// The callback is called after the action of Silder changes,
// so it should be the this.settingUtils.get() method.
callback: () => { callback: () => {
// Read data in real time // Read data in real time
let value = this.settingUtils.get("Slider") let value = this.settingUtils.take("Slider")
console.log(value); console.log(value);
} }
} }

View file

@ -51,8 +51,6 @@ export class SettingUtils {
if (data) { if (data) {
for (let [key, item] of this.settings) { for (let [key, item] of this.settings) {
item.value = data?.[key] ?? item.value; item.value = data?.[key] ?? item.value;
this.updateElementFromValue(key);
} }
} }
this.plugin.data[this.name] = this.dump(); this.plugin.data[this.name] = this.dump();
@ -82,12 +80,12 @@ export class SettingUtils {
* @returns value in html * @returns value in html
*/ */
take(key: string) { take(key: string) {
let item = this.getElement(key) let element = this.elements.get(key) as any;
this.settings.set(key, item) if (!element){
if (item.type === 'button') { return
return item.value
} }
return item.value this.settings.set(key, element.value)
return element.value
} }
/** /**
@ -257,7 +255,8 @@ export class SettingUtils {
} }
/** /**
* return the element information * Set the value in the setting to the value of the element
* and return the element information
* @param key key name * @param key key name
* @returns element * @returns element
*/ */
@ -266,19 +265,21 @@ export class SettingUtils {
let element = this.elements.get(key) as any; let element = this.elements.get(key) as any;
switch (item.type) { switch (item.type) {
case 'checkbox': case 'checkbox':
item.value = element.checked ? true : false; element.value = element.checked ? true : false;
element.checked = item.value;
break; break;
case 'select': case 'select':
item.value = element.value; element.value = item.value;
break; break;
case 'slider': case 'slider':
item.value = element.value; element.value = item.value;
element.ariaLabel = item.value;
break; break;
case 'textinput': case 'textinput':
item.value = element.value; element.value = item.value;
break; break;
case 'textarea': case 'textarea':
item.value = element.value; element.value = item.value;
break; break;
} }
return element; return element;
@ -328,5 +329,5 @@ export class SettingUtils {
break; break;
} }
} }
} }