riku
2026-04-02 3282e95db0207ee133d1e98d9771dec9d83b0fc4
miniprogram_npm/tdesign-miniprogram/common/src/control.js
@@ -1,40 +1 @@
const defaultOption = {
    valueKey: 'value',
    defaultValueKey: 'defaultValue',
    changeEventName: 'change',
    strict: true,
};
function useControl(option = {}) {
    const { valueKey, defaultValueKey, changeEventName, strict } = Object.assign(Object.assign({}, defaultOption), option);
    const props = this.properties || {};
    const value = props[valueKey];
    const defaultValue = props[strict ? defaultValueKey : valueKey];
    let controlled = false;
    if (strict && typeof value !== 'undefined' && value !== null) {
        controlled = true;
    }
    const set = (newVal, extObj, fn) => {
        this.setData(Object.assign({ [`_${valueKey}`]: newVal }, extObj), fn);
    };
    return {
        controlled,
        initValue: controlled ? value : defaultValue,
        set,
        get: () => {
            return this.data[`_${valueKey}`];
        },
        change: (newVal, customChangeData, customUpdateFn) => {
            this.triggerEvent(changeEventName, typeof customChangeData !== 'undefined' ? customChangeData : newVal);
            if (controlled) {
                return;
            }
            if (typeof customUpdateFn === 'function') {
                customUpdateFn();
            }
            else {
                set(newVal);
            }
        },
    };
}
export { useControl };
const defaultOption={valueKey:"value",defaultValueKey:"defaultValue",changeEventName:"change",strict:!0};function useControl(e={}){const{valueKey:t,defaultValueKey:a,changeEventName:n,strict:s}=Object.assign(Object.assign({},defaultOption),e),l=this.properties||{},i=l[t],u=l[s?a:t];let o=!1;s&&null!=i&&(o=!0);const c=(e,a,n)=>{this.setData(Object.assign({[`_${t}`]:e},a),n)};return{controlled:o,initValue:o?i:u,set:c,get:()=>this.data[`_${t}`],change:(e,t,a)=>{this.triggerEvent(n,void 0!==t?t:e),o||("function"==typeof a?a():c(e))}}}export{useControl};