From 0746b7bbe6aa3d9f02e03654a2cd4fde2081c335 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 21 四月 2025 09:29:40 +0800
Subject: [PATCH] bug修复
---
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