数据结构
tableData: [
?? ?{
?? ? ?id: "1",
?? ? ?date: "2011-05-03",
?? ? ?name: "张三",
?? ? ?address: "北京市房山区19号",
?? ? ?IsAudit: 0,
?? ? ?sex: "1",
?? ?},
?? ?{
?? ? ?id: "2",
?? ? ?date: "2012-05-02",
?? ? ?name: "李四",
?? ? ?address: "北京市房山区20号",
?? ? ?IsAudit: 1,
?? ? ?sex: "0",
?? ?},
?? ?{
?? ? ?id: "3",
?? ? ?date: "2013-05-02",
?? ? ?name: "王五",
?? ? ?address: "北京市房山区21号",
?? ? ?IsAudit: 10,
?? ? ?sex: "-1",
?? ?}
],
当前页面元素
<el-row :gutter="20" type="flex" justify="start">
? <el-col :span="8">
?? ?<template>
?? ? ?<el-table
?? ??? ?:data="tableData"
?? ??? ?style="width: 100%"
?? ??? ?@row-click="handleHangData" ?点击当前行 ?拿取当前行的饿数据
?? ? ?>
?? ??? ?<el-table-column
?? ??? ? ?prop="date"
?? ??? ? ?label="日期"
?? ??? ? ?width="180"
?? ??? ?></el-table-column>
?? ??? ?<el-table-column
?? ??? ? ?prop="name"
?? ??? ? ?label="姓名"
?? ??? ? ?width="180"
?? ??? ?></el-table-column>
?? ??? ?<el-table-column prop="address" label="地址"> </el-table-column
?? ? ?></el-table>
?? ?</template>
? </el-col>
</el-row>
引用组件 ref用来给元素或者子组件注册引用信息?
<ContentDetail ref="ContentDetail" /> ? ? ? ? ? ? ? ??
方法
<script>
? ? 引入对话框页面
?? ?import ContentDetail from './components/ContentDetail.vue' ? ? ?
?? ?export default {
?? ??? ?name: "pageIndex",
? ? ? ? data(){
? ? ? ? ? ? return {
? ? ? ? ? ? ??
? ? ? ? ? ? }
? ? ? ? }
?? ??? ?components: { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?? ??? ??? ?ContentDetail ? ?注册使用组件
?? ??? ?},
? ? ? ? methods: {
? ? ? ? ? ? handleHangData(row){
? ? ? ? ? ? ? 调用组件中的 show 方法 ? 并且传入参数
? ? ? ? ? ? ? this.$refs["ContentDetail"].show(row);
? ? ? ? ? ? }
? ? ? ? }
?? ? };
</script>
这个是ContentDetail界面
<template>
<el-dialog
title="表格的数据"
:visible.sync="dialogVisible"
width="70%"
append-to-body
>
<div class="main-content">
<div class="line">
<b>名称</b>
<span>{{currentData.name || "--"}}</span>
</div>
<div class="line">
<b>日期</b>
<span>{{currentData.date || "--"}}</span>
</div>
<div class="line">
<b>描述</b>
<span>{{currentData.desc || "--"}}</span>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
name:"ContainerCotent",
data(){
return{
currentData:{}, 接收传来的数据
dialogVisible: false 默认消失
}
},
methods:{
show(row){ 调用show()方法
this.dialogVisible = true; 让弹出框出来
this.currentData = {
name:row.name,
date:row.date,
desc:row.address
}
},
close(){
this.dialogVisible = false;
}
}
}
</script>
<style scoped>
样式的话 自己定义 不放了
</style>
?点击行显示对应的数据信息
|