diff --git a/src/mock/article_table.js b/src/mock/article_table.js index a85f74a361054edeedcd517a59a51deef4dd939d..8320fe0cdbd393921f6c9f7660cc01b7dbadf008 100644 --- a/src/mock/article_table.js +++ b/src/mock/article_table.js @@ -21,14 +21,19 @@ for (let i = 0; i < count; i++) { export default { getList: config => { - const { importance, type, title, page, limit } = config.params; - const mockList = List.filter(item => { + const { importance, type, title, page, limit, sort } = config.params; + let mockList = List.filter(item => { if (importance && item.importance !== importance) return false; if (type && item.type !== type) return false; if (title && item.title.indexOf(title) < 0) return false; return true; }); + if (sort === '-id') { + mockList = mockList.reverse() + } + const pageList = mockList.filter((item, index) => index < limit * page && index >= limit * (page - 1)); + return new Promise(resolve => { setTimeout(() => { resolve([200, { diff --git a/src/views/example/table.vue b/src/views/example/table.vue index 8631df1ffec871546e673d1452a027ab20aa9fc1..69e531797156f63e9e37aff8d0609142c39dc2a0 100644 --- a/src/views/example/table.vue +++ b/src/views/example/table.vue @@ -14,6 +14,11 @@ </el-option> </el-select> + <el-select @change='handleFilter' style="width: 120px" class="filter-item" v-model="listQuery.sort" placeholder="排åº"> + <el-option v-for="item in sortOptions" :key="item.key" :label="item.label" :value="item.key"> + </el-option> + </el-select> + <el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">æœç´¢</el-button> <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate" type="primary" icon="edit">æ·»åŠ </el-button> <el-button class="filter-item" type="primary" icon="document" @click="handleDownload">导出</el-button> @@ -174,7 +179,8 @@ limit: 20, importance: undefined, title: undefined, - type: undefined + type: undefined, + sort: '+id' }, temp: { id: undefined, @@ -187,6 +193,7 @@ }, importanceOptions: [1, 2, 3], calendarTypeOptions, + sortOptions: [{ label: '按IDå‡åºåˆ—', key: '+id' }, { label: '按IDé™åº', key: '-id' }], statusOptions: ['published', 'draft', 'deleted'], dialogFormVisible: false, dialogStatus: '',