{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\views\\table\\inline-edit-table.vue?vue&type=style&index=0&id=5842d9d4&scoped=true&lang=css&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\views\\table\\inline-edit-table.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\css-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgouZWRpdC1pbnB1dCB7CiAgcGFkZGluZy1yaWdodDogMTAwcHg7Cn0KLmNhbmNlbC1idG4gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMTVweDsKICB0b3A6IDEwcHg7Cn0K"},{"version":3,"sources":["inline-edit-table.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"inline-edit-table.vue","sourceRoot":"src/views/table","sourcesContent":["<template>\n <div class=\"app-container\">\n <el-table v-loading=\"listLoading\" :data=\"list\" border fit highlight-current-row style=\"width: 100%\">\n <el-table-column align=\"center\" label=\"ID\" width=\"80\">\n <template slot-scope=\"{row}\">\n <span>{{ row.id }}</span>\n </template>\n </el-table-column>\n\n <el-table-column width=\"180px\" align=\"center\" label=\"Date\">\n <template slot-scope=\"{row}\">\n <span>{{ row.timestamp | parseTime('{y}-{m}-{d} {h}:{i}') }}</span>\n </template>\n </el-table-column>\n\n <el-table-column width=\"120px\" align=\"center\" label=\"Author\">\n <template slot-scope=\"{row}\">\n <span>{{ row.author }}</span>\n </template>\n </el-table-column>\n\n <el-table-column width=\"100px\" label=\"Importance\">\n <template slot-scope=\"{row}\">\n <svg-icon v-for=\"n in + row.importance\" :key=\"n\" icon-class=\"star\" class=\"meta-item__icon\" />\n </template>\n </el-table-column>\n\n <el-table-column class-name=\"status-col\" label=\"Status\" width=\"110\">\n <template slot-scope=\"{row}\">\n <el-tag :type=\"row.status | statusFilter\">\n {{ row.status }}\n </el-tag>\n </template>\n </el-table-column>\n\n <el-table-column min-width=\"300px\" label=\"Title\">\n <template slot-scope=\"{row}\">\n <template v-if=\"row.edit\">\n <el-input v-model=\"row.title\" class=\"edit-input\" size=\"small\" />\n <el-button\n class=\"cancel-btn\"\n size=\"small\"\n icon=\"el-icon-refresh\"\n type=\"warning\"\n @click=\"cancelEdit(row)\"\n >\n cancel\n </el-button>\n </template>\n <span v-else>{{ row.title }}</span>\n </template>\n </el-table-column>\n\n <el-table-column align=\"center\" label=\"Actions\" width=\"120\">\n <template slot-scope=\"{row}\">\n <el-button\n v-if=\"row.edit\"\n type=\"success\"\n size=\"small\"\n icon=\"el-icon-circle-check-outline\"\n @click=\"confirmEdit(row)\"\n >\n Ok\n </el-button>\n <el-button\n v-else\n type=\"primary\"\n size=\"small\"\n icon=\"el-icon-edit\"\n @click=\"row.edit=!row.edit\"\n >\n Edit\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n </div>\n</template>\n\n<script>\nimport { fetchList } from '@/api/article'\n\nexport default {\n name: 'InlineEditTable',\n filters: {\n statusFilter(status) {\n const statusMap = {\n published: 'success',\n draft: 'info',\n deleted: 'danger'\n }\n return statusMap[status]\n }\n },\n data() {\n return {\n list: null,\n listLoading: true,\n listQuery: {\n page: 1,\n limit: 10\n }\n }\n },\n created() {\n this.getList()\n },\n methods: {\n async getList() {\n this.listLoading = true\n const { data } = await fetchList(this.listQuery)\n const items = data.items\n this.list = items.map(v => {\n this.$set(v, 'edit', false) // https://vuejs.org/v2/guide/reactivity.html\n v.originalTitle = v.title // will be used when user click the cancel botton\n return v\n })\n this.listLoading = false\n },\n cancelEdit(row) {\n row.title = row.originalTitle\n row.edit = false\n this.$message({\n message: 'The title has been restored to the original value',\n type: 'warning'\n })\n },\n confirmEdit(row) {\n row.edit = false\n row.originalTitle = row.title\n this.$message({\n message: 'The title has been edited',\n type: 'success'\n })\n }\n }\n}\n</script>\n\n<style scoped>\n.edit-input {\n padding-right: 100px;\n}\n.cancel-btn {\n position: absolute;\n right: 15px;\n top: 10px;\n}\n</style>\n"]}]}
|