diff --git a/html/src/app.js b/html/src/app.js
index b841482e..c766e9b7 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -22427,10 +22427,13 @@ speechSynthesis.getVoices();
$app.data.friendsListSearchFilters = [];
$app.data.friendsListSelectAllCheckbox = false;
$app.data.friendsListBulkUnfriendMode = false;
+ $app.data.friendsListBulkUnfriendForceUpdate = 0;
- $app.watch.friendsListBulkUnfriendMode = (newV) => {
- if (!newV) {
- $app.friendsListTable.data.forEach((i) => delete i.$selected);
+ $app.methods.toggleFriendsListBulkUnfriendMode = function () {
+ if (!this.friendsListBulkUnfriendMode) {
+ this.friendsListTable.data.forEach((ref) => {
+ ref.$selected = false;
+ });
}
};
@@ -22520,8 +22523,8 @@ speechSynthesis.getVoices();
if (typeof ctx.ref === 'undefined') {
continue;
}
- if (typeof ctx.$selected === 'undefined') {
- ctx.$selected = false;
+ if (typeof ctx.ref.$selected === 'undefined') {
+ ctx.ref.$selected = false;
}
if (this.friendsListSearchFilterVIP && !ctx.isVIP) {
continue;
diff --git a/html/src/mixins/tabs/friendsList.pug b/html/src/mixins/tabs/friendsList.pug
index 83d19562..9b4f3860 100644
--- a/html/src/mixins/tabs/friendsList.pug
+++ b/html/src/mixins/tabs/friendsList.pug
@@ -8,7 +8,7 @@ mixin friendsListTab()
//- el-button(size="small" @click="showBulkUnfriendAllConfirm" style="margin-right:5px") Bulk Unfriend All
div(style="display:inline-block;margin-right:10px")
span.name {{ $t('view.friend_list.bulk_unfriend') }}
- el-switch(v-model="friendsListBulkUnfriendMode" style="margin-left:5px")
+ el-switch(@change="toggleFriendsListBulkUnfriendMode" v-model="friendsListBulkUnfriendMode" style="margin-left:5px")
span {{ $t('view.friend_list.load') }}
template(v-if="friendsListLoading")
span(v-text="friendsListLoadingProgress" style="margin-left:5px")
@@ -29,10 +29,10 @@ mixin friendsListTab()
el-tooltip(placement="top" :content="$t('view.friend_list.clear_tooltip')" :disabled="hideTooltips")
el-button(type="default" @click="friendsListTable.data = []" icon="el-icon-delete" circle style="flex:none;margin-left:5px")
data-tables(v-bind="friendsListTable" @row-click="selectFriendsListRow" style="margin-top:10px;cursor:pointer")
- el-table-column(v-if="friendsListBulkUnfriendMode" width="55" prop="$selected")
+ el-table-column(width="55" prop="$selected" v-if="friendsListBulkUnfriendMode" :key="friendsListBulkUnfriendForceUpdate")
template(v-once #default="scope")
el-button(type="text" size="mini" @click.stop)
- el-checkbox(@change="$app.$set(scope.row, '$selected', $event)" :value="'$selected' in scope.row?scope.row.$selected:false")
+ el-checkbox(v-model="scope.row.$selected" @change="friendsListBulkUnfriendForceUpdate++")
el-table-column(:label="$t('table.friendList.no')" width="70" prop="$friendNum" sortable="custom")
el-table-column(:label="$t('table.friendList.avatar')" width="70" prop="photo")
template(v-once #default="scope")