最近在給后臺管理系統(tǒng)做表格,要求展開可現(xiàn)實詳細(xì)內(nèi)容,遇到奇怪的問題(來自后端狗的疑惑),整了個測試代碼,發(fā)上來“求藥”
問題描述 (見代碼)
<template>
<el-table
:data="tableData5"
style="width: 100%"
@expand-change="expandChange">
<el-table-column label="商品 ID"prop="id"></el-table-column>
<el-table-column label="商品名稱" prop="name"></el-table-column>
<el-table-column label="描述" prop="desc"></el-table-column>
<el-table-column type="expand">
<template >
<el-table v-loading="loading" :data="subTableData">
<el-table-column label="所屬店鋪" prop="shop"></el-table-column>
<el-table-column label="店鋪 ID" prop="shopId"></el-table-column>
<el-table-column label="商品分類" prop="category"></el-table-column>
<el-table-column label="店鋪地址" prop="address"></el-table-column>
</el-table>
</template>
</el-table-column>
</el-table>
</template>
<script>
import axios from "axios"
var Mock = require('mockjs');
Mock.mock('/subtable/data',[{
category: '江浙小吃、小吃零食',
address: '上海市普陀區(qū)真北路',
shop: '王小虎夫妻店',
shopId: '10333'
}
])
export default {
data() {
return {
loading:true,
subTableData:[],
tableData5: [{
id: '12987122',
name: '好滋好味雞蛋仔',
desc: '荷蘭優(yōu)質(zhì)淡奶,奶香濃而不膩',
}, {
id: '12987123',
name: '好滋好味雞蛋仔',
desc: '荷蘭優(yōu)質(zhì)淡奶,奶香濃而不膩',
}, {
id: '12987125',
name: '好滋好味雞蛋仔',
desc: '荷蘭優(yōu)質(zhì)淡奶,奶香濃而不膩',
}]
}
},
methods: {
expandChange(row, expandedRows) {
let _this = this
//恢復(fù)默認(rèn)值
_this.loading = true
_this.subTableData = []
//加載數(shù)據(jù)
axios.get('/subtable/data')
.then(function (res) {
/**
* ----問題描述----
* 1.隱藏->展開:以下兩個屬性沒有讓網(wǎng)頁發(fā)生響應(yīng)
* 2.其他列展開->切換當(dāng)前列展開:這兩個屬性又能生效
*/
_this.subTableData = res.data
_this.loading = false
}).catch(function (error) {
console.log(error);
});
if (expandedRows.length > 1) {
//只展開當(dāng)前選項
expandedRows.shift()
}
}
}
}
</script>已解決,改完后代碼如下:
<template>
<el-table
:data="tableData5"
style="width: 100%"
row-key="id"
:expand-row-keys="expandKeys"
@expand-change="expandChange">
<el-table-column label="商品 ID"prop="id"></el-table-column>
<el-table-column label="商品名稱" prop="name"></el-table-column>
<el-table-column label="描述" prop="desc"></el-table-column>
<el-table-column type="expand">
<template >
<el-table v-loading="loading" :data="subTableData">
<el-table-column label="所屬店鋪" prop="shop"></el-table-column>
<el-table-column label="店鋪 ID" prop="shopId"></el-table-column>
<el-table-column label="商品分類" prop="category"></el-table-column>
<el-table-column label="店鋪地址" prop="address"></el-table-column>
</el-table>
</template>
</el-table-column>
</el-table>
</template>
<script>
import axios from "axios"
var Mock = require('mockjs');
Mock.mock('/subtable/data',[{
category: '江浙小吃、小吃零食',
address: '上海市普陀區(qū)真北路',
shop: '王小虎夫妻店',
shopId: '10333'
}
])
export default {
data() {
return {
expandKeys:[],/** 新增 **/
loading:true,
subTableData:[],
tableData5: [{
id: '12987122',
name: '好滋好味雞蛋仔',
desc: '荷蘭優(yōu)質(zhì)淡奶,奶香濃而不膩',
}, {
id: '12987123',
name: '好滋好味雞蛋仔',
desc: '荷蘭優(yōu)質(zhì)淡奶,奶香濃而不膩',
}, {
id: '12987125',
name: '好滋好味雞蛋仔',
desc: '荷蘭優(yōu)質(zhì)淡奶,奶香濃而不膩',
}]
}
},
methods: {
expandChange(row, expandedRows) {
if(this.expandKeys.indexOf(row.id)>=0){
//收起當(dāng)前行
this.expandKeys.shift()
return;
}
let _this = this
//恢復(fù)默認(rèn)值
_this.loading = true
_this.subTableData = []
//加載數(shù)據(jù)
axios.get('/subtable/data')
.then(function (res) {
_this.subTableData = res.data
_this.loading = false
_this.expandKeys.shift() /** 新增 **/
_this.expandKeys.push(row.id) /** 新增 **/
}).catch(function (error) {
console.log(error);
});
if (expandedRows.length > 1) {
//只展開當(dāng)前選項
expandedRows.shift()
}
}
}
}
</script>北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。