Advertisement

elementui 展示列表模板_vue element-ui 实现表格列表动态展示

阅读量:

思路:

将所有列名存储在columns这个数组中,并通过动态更新该数组的内容来实现动态展示各列的目的

columns数组包含的内容格式如下:

// 字段header

this.columns.push({

label: 实际的字段名,比如id,

value: 实际的字段名,比如id,

key: Date.now()

});

代码全部如下:

关 闭

// 获取样本数据的请求

import {

getSampleDataUrl

} from '@/api/task/tasklist';

export default {

name: 'showDataSample',

props: ['visible'],// 父组件传来的可变量,用户控制 el-dialog的显示于隐藏

data() {

return {

columns: [],// 列名,如 id,name

gridData: [] // 结果, 如 1001,张三

};

},

created() {

console.log("in showDataSample ");

},

methods: {

cancelModal() {

// 关闭弹窗,触发父组件修改visible值,关闭 el-dialog控件

this.$emit('update:visible', false)

},

// 获取数据

getSampleData(dsId,tableName, columnList, headerList) {

this.columns = headerList;

console.output("dsId=" + dsId + ",tableName = " + tableName + ",columnList = " + JSON.stringify(columnList))

const data = getSampleDataUrl({

dsId: dsId,

tableName: tableName,

columnList: JSON.stringify(columnList)

});

data.then(res => {

if (res.success) {

var data = res.data;

data.forEach(item => {

console.log(item)

})

this.gridData = res.data;

} else {

this.$alert('获取数据源列表失败', '提示', {

confirmButtonText: '关闭'

})

}

}).catch(err => {

console.log(err)

})

},

openDialog() {

// 打开数据源DIV

console.log('openDialog');

},

handleClose(done) {

this.$confirm('确认关闭?')

.then(_ => {

this.cancelModal();

})

.catch(_ => {});

},

}

};

全部评论 (0)

还没有任何评论哟~