首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><v-data-table>中的自定义排序停留在循环中

<v-data-table>中的自定义排序停留在循环中
EN

Stack Overflow用户
提问于 2020-09-19 02:36:19
回答 1查看 247关注 0票数 0

我有一个表,我做了一个custom-sort,但是由于某些原因,这个方法停留在循环中。

代码语言:javascript
复制
<v-card>
      <v-toolbar flat>
        <v-toolbar-title>{{ $t('locations.list.title') }}</v-toolbar-title>
        <v-divider class="mx-4" inset vertical></v-divider>
        <div>
          <v-text-field
            append-icon="fa fa-search"
            v-model="params.query"
            :label="$t('locations.labels.search')"
            :disabled="isLoading"
            single-line
            hide-details
            v-debounce:1500="search"
          ></v-text-field>
        </div>
        <v-spacer></v-spacer>
        <v-btn color="primary" :to="{ name: 'locations:create' }">
          {{ $t('locations.labels.add') }}
          <v-icon right>fa fa-plus</v-icon>
        </v-btn>
      </v-toolbar>
      <v-data-table
        :headers="headers"
        :items="locations"
        :page.sync="pagination.current_page"
        :items-per-page="pagination.per_page"
        :loading="isLoading"
        hide-default-footer
        :multi-sort="true"
        :custom-sort="customSort"
        @page-count="pageCount = $event"
      >
        <template v-slot:item.actions="{ item }">
          <v-btn icon :to="{ name: 'locations:edit', params: { id: item.id } }">
            <v-icon>fa fa-edit</v-icon>
          </v-btn>
          <v-btn icon @click="requestDeleteConfirmation(item)">
            <v-icon>fa fa-trash</v-icon>
          </v-btn>
        </template>
      </v-data-table>
      <v-pagination
        v-model="pagination.current_page"
        :length="pagination.last_page"
        @input="search"
      ></v-pagination>
    </v-card>

这是我的排序方法:

代码语言:javascript
复制
customSort(items, index, isDesc) {
    if (index[0]) {
        const $sort = index
            .reduce((carry, item, index) => {
                const name = item;
                const order = isDesc[index] ? 'ASC' : 'DESC';
                const sort = `${name}:${order}`;
                carry.push(sort);
                return carry;
            }, [])
            .join(',');
        this.params = { ...this.params, $sort };
        console.log('[carry]', $sort);
        this.search();
    } else {
        this.$delete(this.params, '$sort');
    }
    return items;
},
EN

回答 1

Stack Overflow用户

发布于 2020-09-19 05:19:25

我怀疑customSort()触发search()search()触发customSort()存在周期性问题。

如果不是,我的下一个猜测是它与v-data-table有关。你能给我们提供更多关于该组件的信息吗?它是从图书馆来的还是你自己写的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63961108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档