如何使 table 行可点击并展开该行 - vue.js - element-ui
How to make a table row clickable and expand the row - vue.js - element-ui
我正在使用具有可扩展行功能的 table。单击展开图标时该行展开,您可以查看示例HERE。但是,我想要做的是,整行 可点击和切换展开和折叠行就像点击展开图标时一样。
请帮忙。
这是我的标记:
<template lang="pug">
el-table(:data="tableData")
el-table-column(label="Employee Name", prop="userName")
el-table-column(label="Company Name", prop="companyName")
el-table-column(type="expand", align="right" )
template(slot-scope="props")
p User Name: {{ props.row.userName }}
p Company Name: {{ props.row.companyName }}
</template>
好的,我找到了解决方案并回答了我自己的问题:)
标记:
<template lang="pug">
el-table(:data="tableData", @row-click="rowClicked", ref="tableData").clickable-rows
el-table-column(label="Employee Name", prop="userName")
el-table-column(label="Company Name", prop="companyName")
el-table-column(type="expand", align="right" )
template(slot-scope="props")
p User Name: {{ props.row.userName }}
p Company Name: {{ props.row.companyName }}
</template>
脚本:
<script>
export default {
methods: {
rowClicked(row) {
this.$refs.tableData.toggleRowExpansion(row);
}
}
}
</script>
样式 - scss
// click-able rows
.clickable-rows {
tbody tr td {
cursor: pointer;
}
.el-table__expanded-cell {
cursor: default;
}
}
我认为有更好的方法
我们在 el-table 中有 row-key,并且展开-row-keys
因此,每次单击时,您都可以更改当前展开的行,甚至可以创建“expan-one-at-a-time”的行为
比如::expand-row-keys="[currentExpandedRow]"
我正在使用具有可扩展行功能的 table。单击展开图标时该行展开,您可以查看示例HERE。但是,我想要做的是,整行 可点击和切换展开和折叠行就像点击展开图标时一样。
请帮忙。
这是我的标记:
<template lang="pug">
el-table(:data="tableData")
el-table-column(label="Employee Name", prop="userName")
el-table-column(label="Company Name", prop="companyName")
el-table-column(type="expand", align="right" )
template(slot-scope="props")
p User Name: {{ props.row.userName }}
p Company Name: {{ props.row.companyName }}
</template>
好的,我找到了解决方案并回答了我自己的问题:)
标记:
<template lang="pug">
el-table(:data="tableData", @row-click="rowClicked", ref="tableData").clickable-rows
el-table-column(label="Employee Name", prop="userName")
el-table-column(label="Company Name", prop="companyName")
el-table-column(type="expand", align="right" )
template(slot-scope="props")
p User Name: {{ props.row.userName }}
p Company Name: {{ props.row.companyName }}
</template>
脚本:
<script>
export default {
methods: {
rowClicked(row) {
this.$refs.tableData.toggleRowExpansion(row);
}
}
}
</script>
样式 - scss
// click-able rows
.clickable-rows {
tbody tr td {
cursor: pointer;
}
.el-table__expanded-cell {
cursor: default;
}
}
我认为有更好的方法 我们在 el-table 中有 row-key,并且展开-row-keys 因此,每次单击时,您都可以更改当前展开的行,甚至可以创建“expan-one-at-a-time”的行为 比如::expand-row-keys="[currentExpandedRow]"