参考GPT和自己的思路:可以通过自定义slot来实现该需求。可以在el-table-column内部定义一个slot,然后通过props.columnIndex获取当前列的索引,再根据索引来获取该行数据的对应值,然后进行字符串替换,将"\n"替换为"
"以实现换行的效果。具体代码如下:
<template>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="content" label="内容">
<template slot-scope="{row}">
<div v-html="showContent(row.content)"></div>
</template>
</el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ content: 'abcabcabcabcabcabcabc\n--------------------------------------\abcabcabcabcabcabcabc\n--------------------------------------\abcabcabcabcabcabcabc\n--------------------------------------\abcabcabcabcabcabcabc' }
]
}
},
methods: {
showContent(content) {
return content.replace(/\n/g, '<br>')
}
}
}
</script>
需要将el-table-column的show-overflow-tooltip属性去掉,因为当使用自定义slot时,show-overflow-tooltip属性不起作用。