1:首先看效果图 2.这里是使用的table表单组件,组件里面有一个 table-expand 属性需要使用,所以需要引入,我是只有一个组件需要这个属性,所以直接在组件中引入 3:在根据render函数的方式使用 父组件代码
<template> <Table :columns="columns10" :data="data9"> <template slot="action" slot-scope="{ row }"> <Button size="small" type="text" @click="handDetails(row)" > 详情</Button> <Button size="small" type="text" @click="ShowaddOrder()" > 开单</Button> <!--<Button--> <!--size="small"--> <!--type="text"--> <!--@click="editorModal('bj')"--> <!-->--> <!--编辑</Button>--> <!-- <Dropdown trigger="click" :transfer='transfer' style="margin-left: 10px"> <a href="javascript:void(0)"> 更多 <Icon type="ios-arrow-down"></Icon> </a> <DropdownMenu slot="list"> <DropdownItem @click.native="Showdiscount(row)"> 折让 </DropdownItem> <DropdownItem @click.native="handDetails('SH')"> 经理审核 </DropdownItem> <DropdownItem @click.native="OutTicketMange()"> 开票 </DropdownItem> <DropdownItem @click.native="OrderConfirm(row)"> 开单确认 </DropdownItem> <DropdownItem @click.native="ChildModal(row)"> 子订单列表 </DropdownItem> </DropdownMenu> </Dropdown> --> </template> </Table> </template>js
<script> import expandRow from './table-expand' export default { components: { expandRow }, data () { return { columns10: [ { type: 'expand', width: 50, render: (h, params) => { return h(expandRow, { props: { row: params.row } }) } }, { title: '姓名', key: 'name' }, { title: '年龄', key: 'age' }, { title: 'Address', key: 'address' }, { title: '操作', width: 180, fixed: 'right', slot: 'action' } ], data9: [ { name: 'John Brown', age: 18, address: 'New York No. 1 Lake Park', job: 'Data engineer', interest: 'badminton', birthday: '1991-05-14', book: 'Steve Jobs', movie: 'The Prestige', music: 'I Cry' }, { name: 'Jim Green', age: 25, address: 'London No. 1 Lake Park', job: 'Data Scientist', interest: 'volleyball', birthday: '1989-03-18', book: 'My Struggle', movie: 'Roman Holiday', music: 'My Heart Will Go On' }, { name: 'Joe Black', age: 30, address: 'Sydney No. 1 Lake Park', job: 'Data Product Manager', interest: 'tennis', birthday: '1992-01-31', book: 'Win', movie: 'Jobs', music: 'Don’t Cry' }, { name: 'Jon Snow', age: 26, address: 'Ottawa No. 2 Lake Park', job: 'Data Analyst', interest: 'snooker', birthday: '1988-7-25', book: 'A Dream in Red Mansions', movie: 'A Chinese Ghost Story', music: 'actor' } ] } } } </script>4:这个时候你就需要在新建新的组件,并在当前项目中引入,我新建了table-expand组件 子组件
<style scoped> .expand-row{ margin-bottom: 16px; } </style> <template> <div> <Table height="200" :columns="columnsdata" :data='tabledata'> <template slot="action" slot-scope="{ row }"> <Button size="small" type="text" @click="handDetails(row)" > 删除</Button> <Button size="small" type="text" @click="ShowaddOrder()" > 添加</Button> <!--<Button--> <!--size="small"--> <!--type="text"--> <!--@click="editorModal('bj')"--> <!-->--> <!--编辑</Button>--> <!-- <Dropdown trigger="click" :transfer='transfer' style="margin-left: 10px"> <a href="javascript:void(0)"> 更多 <Icon type="ios-arrow-down"></Icon> </a> <DropdownMenu slot="list"> <DropdownItem @click.native="Showdiscount(row)"> 折让 </DropdownItem> <DropdownItem @click.native="handDetails('SH')"> 经理审核 </DropdownItem> <DropdownItem @click.native="OutTicketMange()"> 开票 </DropdownItem> <DropdownItem @click.native="OrderConfirm(row)"> 开单确认 </DropdownItem> <DropdownItem @click.native="ChildModal(row)"> 子订单列表 </DropdownItem> </DropdownMenu> </Dropdown> --> </template> </Table> </div> </template> <script> export default { props: { row: Object }, data(){ return{ tabledata:[], columnsdata:[ { type: 'selection', align: 'center', width:'100' }, { title: '姓名', key: 'name' }, { title: '年龄', key: 'age' }, { title: 'Address', key: 'address' }, { title: '音乐', key: 'music' }, { title: '书', key: 'book' }, { title: '工作', key: 'job' }, { title: '操作', width: 130, fixed: 'right', slot: 'action' }, ] } }, created() { this.tabledata.push(this.row) }, }; </script>哪里需要改正请在评论区,谢谢