Skip to content

Instantly share code, notes, and snippets.

@farnetani
Last active July 21, 2018 13:35
Show Gist options
  • Save farnetani/914a0aea8b67064a2b5e5c00db1b616f to your computer and use it in GitHub Desktop.
Save farnetani/914a0aea8b67064a2b5e5c00db1b616f to your computer and use it in GitHub Desktop.
Selecionar o row com clique em table - element.eleme.io
// https://codepen.io/anon/pen/WKRJGd?editors=1010
// https://codepen.io/anon/pen/WKRJGd
<div id="app">
<el-table style="width: 100%"
ref="minhaTabela"
:data="tableData3"
:row-style="getRowStyle"
@select="aoSelecionarUmRegistro"
@select-all="aoSelecionarTodos"
@row-click="aoClicarSelecionar">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
label="Date"
width="120">
<template slot-scope="scope">{{ scope.row.date }}</template>
</el-table-column>
<el-table-column
property="name"
label="Name"
width="120">
</el-table-column>
<el-table-column
property="address"
label="Address"
show-overflow-tooltip>
</el-table-column>
</el-table>
<!-- <pre> {{ $data }}</pre> -->
</div>
let Main = {
data() {
return {
tableData3: [{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles'
}, {
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles'
}, {
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles'
}, {
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles'
}, {
date: '2016-05-08',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles'
}, {
date: '2016-05-06',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles'
}, {
date: '2016-05-07',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles'
}],
multipleSelection: []
}
},
methods: {
aoSelecionarUmRegistro(selection, row) {
row.selected = selection.includes(row)
},
aoSelecionarTodos(selection) {
this.tableData3.forEach((row) => row.selected = false)
selection.forEach((row) => row.selected = true)
},
aoClicarSelecionar(row) {
row.selected = !row.selected
this.$refs.minhaTabela.toggleRowSelection(row, row.selected)
},
getRowStyle(row) {
if(row.row.selected)
return { backgroundColor:"yellow"}
else
return { backgroundColor:"white"}
}
}
}
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment