From b4033c002e21c1376d68be61622da56182a962e9 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 14 八月 2024 15:19:52 +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