docs/app/pages/Components/Table/examples/TableMultiple.vue
<template>
<div>
<md-table v-model="people" md-card @md-selected="onSelect">
<md-table-toolbar>
<h1 class="md-title">With auto select and alternate headers</h1>
</md-table-toolbar>
<md-table-toolbar slot="md-table-alternate-header" slot-scope="{ count }">
<div class="md-toolbar-section-start">{{ getAlternateLabel(count) }}</div>
<div class="md-toolbar-section-end">
<md-button class="md-icon-button">
<md-icon>delete</md-icon>
</md-button>
</div>
</md-table-toolbar>
<md-table-row slot="md-table-row" slot-scope="{ item }" :md-disabled="item.name.includes('Stave')" md-selectable="multiple" md-auto-select>
<md-table-cell md-label="Name" md-sort-by="name">{{ item.name }}</md-table-cell>
<md-table-cell md-label="Email" md-sort-by="email">{{ item.email }}</md-table-cell>
<md-table-cell md-label="Gender" md-sort-by="gender">{{ item.gender }}</md-table-cell>
<md-table-cell md-label="Job Title" md-sort-by="title">{{ item.title }}</md-table-cell>
</md-table-row>
</md-table>
<p>Selected:</p>
{{ selected }}
</div>
</template>
<script>
export default {
name: 'TableMultiple',
data: () => ({
selected: [],
people: [
{
name: 'Shawna Dubbin',
email: 'sdubbin0@geocities.com',
gender: 'Male',
title: 'Assistant Media Planner'
},
{
name: 'Odette Demageard',
email: 'odemageard1@spotify.com',
gender: 'Female',
title: 'Account Coordinator'
},
{
name: 'Lonnie Izkovitz',
email: 'lizkovitz3@youtu.be',
gender: 'Female',
title: 'Operator'
},
{
name: 'Thatcher Stave',
email: 'tstave4@reference.com',
gender: 'Male',
title: 'Software Test Engineer III'
},
{
name: 'Clarinda Marieton',
email: 'cmarietonh@theatlantic.com',
gender: 'Female',
title: 'Paralegal'
}
]
}),
methods: {
onSelect (items) {
this.selected = items
},
getAlternateLabel (count) {
let plural = ''
if (count > 1) {
plural = 's'
}
return `${count} user${plural} selected`
}
}
}
</script>
<style lang="scss" scoped>
.md-table + .md-table {
margin-top: 16px
}
</style>