From cf693a5227f17bbf2201512128d267281a8c5695 Mon Sep 17 00:00:00 2001 From: Riku <risaku@163.com> Date: 星期二, 13 八月 2024 23:49:20 +0800 Subject: [PATCH] 设备信息模块 --- miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js b/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js index a943c70..c142af4 100644 --- a/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js +++ b/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js @@ -39,7 +39,7 @@ ]; this.observers = { value(v) { - this.getChilds().forEach((item) => { + this.getChildren().forEach((item) => { item.setData({ checked: v === item.data.value, }); @@ -48,9 +48,19 @@ options() { this.initWithOptions(); }, + disabled(v) { + var _a; + if ((_a = this.data.options) === null || _a === void 0 ? void 0 : _a.length) { + this.initWithOptions(); + return; + } + this.getChildren().forEach((item) => { + item.setDisabled(v); + }); + }, }; this.methods = { - getChilds() { + getChildren() { let items = this.$children; if (!(items === null || items === void 0 ? void 0 : items.length)) { items = this.selectAllComponents(`.${prefix}-radio-option`); @@ -61,11 +71,12 @@ this._trigger('change', { value }); }, handleRadioChange(e) { - const { value, index } = e.target.dataset; - this._trigger('change', { value, index }); + const { checked } = e.detail; + const { value, index, allowUncheck } = e.target.dataset; + this._trigger('change', checked === false && allowUncheck ? { value: null, index } : { value, index }); }, initWithOptions() { - const { options, value, keys } = this.data; + const { options, value, keys, disabled } = this.data; if (!(options === null || options === void 0 ? void 0 : options.length) || !Array.isArray(options)) { this.setData({ radioOptions: [], @@ -82,10 +93,11 @@ label: `${element}`, value: element, checked: value === element, + disabled, }); } else if (typeName === 'object') { - optionsValue.push(Object.assign(Object.assign({}, element), { label: element[(_a = keys === null || keys === void 0 ? void 0 : keys.label) !== null && _a !== void 0 ? _a : 'label'], value: element[(_b = keys === null || keys === void 0 ? void 0 : keys.value) !== null && _b !== void 0 ? _b : 'value'], checked: value === element[(_c = keys === null || keys === void 0 ? void 0 : keys.value) !== null && _c !== void 0 ? _c : 'value'] })); + optionsValue.push(Object.assign(Object.assign({}, element), { label: element[(_a = keys === null || keys === void 0 ? void 0 : keys.label) !== null && _a !== void 0 ? _a : 'label'], value: element[(_b = keys === null || keys === void 0 ? void 0 : keys.value) !== null && _b !== void 0 ? _b : 'value'], checked: value === element[(_c = keys === null || keys === void 0 ? void 0 : keys.value) !== null && _c !== void 0 ? _c : 'value'], disabled: element.disabled || disabled })); } }); this.setData({ -- Gitblit v1.9.3