@@ -613,8 +613,9 @@ const padding = bottomSafeArea.value + "px";
613
613
}
614
614
};
615
615
const selectedSubs = computed (() => {
616
- if (! Array .isArray (form .subscriptions ) || form .subscriptions .length === 0 ) return ` : ${t (` editorPage.subConfig.basic.subscriptions.empty ` )} `
617
- return ` : ${form .subscriptions .map ((name ) => {
616
+ const subscriptions = form .subscriptions || [];
617
+ if (! Array .isArray (subscriptions ) || subscriptions .length === 0 ) return ` : ${t (` editorPage.subConfig.basic.subscriptions.empty ` )} `
618
+ return ` : ${subscriptions .map ((name ) => {
618
619
const sub = subsStore .getOneSub (name );
619
620
return sub ?.displayName || sub ?.[" display-name" ] || sub .name ;
620
621
}).join (' , ' )} `
@@ -640,7 +641,6 @@ const form = reactive<any>({
640
641
passThroughUA: false ,
641
642
icon: " " ,
642
643
isIconColor: true ,
643
- subscriptions: [],
644
644
process: [
645
645
{
646
646
type: " Quick Setting Operator" ,
@@ -1147,6 +1147,10 @@ const urlValidator = (val: string): Promise<boolean> => {
1147
1147
// console.log(`${!v} -> ${v}`)
1148
1148
// };
1149
1149
const subCheckboxClick = () => {
1150
+ // 确保 form.subscriptions 存在
1151
+ if (! form .subscriptions ) {
1152
+ form .subscriptions = [];
1153
+ }
1150
1154
// const selected = toRaw(form.subscriptions) || []
1151
1155
const group = subsSelectList .value .filter (item => shouldShowElement (item [3 ])).map (item => item [0 ]) || []
1152
1156
if (subCheckboxIndeterminate .value ) {
@@ -1189,6 +1193,11 @@ const urlValidator = (val: string): Promise<boolean> => {
1189
1193
const selectedItems = [];
1190
1194
const unselectedItems = [];
1191
1195
1196
+ // 确保 form.subscriptions 存在
1197
+ if (! form .subscriptions ) {
1198
+ form .subscriptions = [];
1199
+ }
1200
+
1192
1201
// 优先添加已勾选的订阅
1193
1202
form .subscriptions .forEach (selectedName => {
1194
1203
const item = filtered .find (item => item [0 ] === selectedName );
@@ -1228,6 +1237,11 @@ const urlValidator = (val: string): Promise<boolean> => {
1228
1237
1229
1238
const newSubscriptions = [];
1230
1239
1240
+ // 确保 form.subscriptions 存在
1241
+ if (! form .subscriptions ) {
1242
+ form .subscriptions = [];
1243
+ }
1244
+
1231
1245
// 先按新顺序添加当前过滤列表中已选中的订阅
1232
1246
newFilteredOrder .forEach (name => {
1233
1247
if (form .subscriptions .includes (name )) {
@@ -1245,7 +1259,7 @@ const urlValidator = (val: string): Promise<boolean> => {
1245
1259
console .log (" 更新后的 form.subscriptions:" , form .subscriptions );
1246
1260
};
1247
1261
watch ([tag , form .subscriptions , subsSelectList ], () => {
1248
- const selected = toRaw (form .subscriptions ) || []
1262
+ const selected = toRaw (form .subscriptions || [] ) || []
1249
1263
const group = subsSelectList .value .filter (item => shouldShowElement (item [3 ])).map (item => item [0 ]) || []
1250
1264
// 1. group 中不包含 selected 中的任何元素, subCheckbox 为 false, subCheckboxIndeterminate 为 false
1251
1265
// 2. group 中包含 selected 中的任意元素, subCheckbox 为 true, subCheckboxIndeterminate 为 true
0 commit comments