现在的版本没有这个class用不了这个方法
/有子节点且未展开
.el-table/deep, el-icon-arrow-right:befor
background:url./images/folder.png)no-repeat 03pxi
content:
display:block
width:16px;
height:16px;
font-size:16px
background-size:16px
/有子节点且已展开
如果你用的Vue,不要在局内样式(scope)内写,因为污染不进去,你可以在你所需的地方增加一个类名,然后
```css
<style lang="scss">
.init{
.el-table{
.el-icon-arrow-right{
//do sth.
&:before{
//样式
}
}
}
}
</style>
```
其实上面代码已经可以实现每一列都有复选框,并且在el-table标签添加select事件也可以实现点击每一行的事件,但是如果你的数据一开始就是选中的,或者你想自定义复选框,那么就要另想办法了
html
<el-table
ref="tableRef"
:data="tableList"
:header-cell-style="headerStyle"
:cell-style="cellStyle"
@select-all="selectAll">
<el-table-column
size="small"
type="selection"
align="center">
<template #default="scope">
<el-checkbox v-model="scope.row.checked" @change="select"/>
</template>
</el-table-column>
...
</el-table>
js
import { ref, reactive, onMounted } from 'vue'
const tableRef = ref() // 定义ref
const tableList = ref([ // 表格数据
{
checked: true,
...
},
{
checked: false,
...
},
...
])
const headerStyle = reactive({ background: '#FAFAFA', color: '#666' }) // table样式
const cellStyle = reactive({ height: '45px' }) // 单元格样式
onMounted(() => {
select()
})
const selectAll = row => { // 全选
tableList.value.forEach(t => {
t.checked = !!row[0]
})
}
const select = () => { // 反选
tableList.value.forEach(t => {
multipleTableRef.value.toggleRowSelection(t, t.checked)
})
}
这样就可以实现自定义复选框已经全选反选功能了,至于自定义样式只要在el-table-column的插槽中添加想要的图标将原本的复选框遮住,然后将事件绑定给图标即可
根据提供的参考资料,目前版本的 element-plus 的树形数据 el-table 中似乎没有提供类来修改小三角图标的方法。但是,我们可以通过自定义表头的方式来实现修改小三角图标的效果。
解决方案如下:
<el-table-column label="标题1">
<template slot="header" slot-scope="scope">
<el-input v-model="search" size="mini" placeholder="输入关键字搜索"/>
</template>
</el-table-column>
<!-- eslint-disable-next-line -->
,如下所示:<!-- eslint-disable-next-line -->
<template slot="header" slot-scope="scope">
<el-input v-model="search" size="mini" placeholder="输入关键字搜索"/>
</template>
data() {
return {
JZPFData: [
{
itemStage: "审批",
implementStage: "*规划",
content: "***",
endtime: "2020",
begintimeAble: true,
endtimeAble: false,
},
{
itemStage: "审批",
implementStage: "*规划",
content: "***",
endtime: "2020",
begintimeAble: true,
endtimeAble: true,
}
// 其他数据...
]
}
}
<el-table :data="JZPFData" stripe row-key="labelStockId">
<!-- 表格列定义 -->
</el-table>
methods: {
getRowKey(row) {
return row.labelStockId;
}
},
通过以上步骤,你可以自定义 el-table 的表头,并修改小三角图标的效果。请注意,自定义表头只适用于单个列,无法用于修改多选表格的列名。 如果以上解决方案仍不能满足你的需求,很抱歉,我无法提供其他解决方案。