Vue处理表格长字段显示问题

背景

有些单元个中会有比较长的内容,如果使用默认格式,会导致单元格的高度比较怪异,需要将超长的内容进行省略。

当前效果:

在这里插入图片描述

优化效果:

在这里插入图片描述

优化代码:

在内容多的单元格增加下面代码

 <el-table-column
    prop="requestHeader"
    label="requestHeader">
    <-- 增加的内容  -->
  <template #default="scope">
    <div class="cell-content">
      {{ scope.row.requestHeader }}
    </div>
  </template>
  <-- 增加的内容  -->
</el-table-column>
<style scoped>
	.cell-content {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
</style>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 中,可以使用 `watch` 监听属性的变化,并在属性发生变化时执行一些操作。如果要实现表格编辑字段的功能,可以先在数据中添加一个属性来表示当前正在编辑的行和列,然后在 `watch` 中监听这个属性的变化,更新对应的单元格数据。 以下是一个简单的示例: ```html <template> <div> <table> <tr v-for="(row, rowIndex) in tableData" :key="rowIndex"> <td v-for="(cell, colIndex) in row" :key="colIndex"> <span v-if="editRow === rowIndex && editCol === colIndex"> <input type="text" v-model="cell" @blur="editRow = -1; editCol = -1"> </span> <span v-else @click="editRow = rowIndex; editCol = colIndex">{{ cell }}</span> </td> </tr> </table> </div> </template> <script> export default { data() { return { tableData: [ ['Apple', 'Red', 1], ['Banana', 'Yellow', 2], ['Orange', 'Orange', 3] ], editRow: -1, editCol: -1 } }, watch: { editRow(row) { if (row !== -1) { this.$nextTick(() => { this.$el.querySelector('input').focus() }) } } } } </script> ``` 在这个示例中,`tableData` 是一个二维数组,其中每个元素表示一个单元格的数据。`editRow` 和 `editCol` 分别表示当前正在编辑的行和列,初始值为 `-1` 表示没有正在编辑的单元格。 在模板中,使用 `v-for` 渲染表格,并根据 `editRow` 和 `editCol` 决定是否显示输入框。 在 `watch` 中,监听 `editRow` 的变化,并在输入框显示时让其自动获取焦点。 当输入框失去焦点时,将 `editRow` 和 `editCol` 的值重置为 `-1`,表示结束编辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值