el-table 对动态列表 中的某一列 指定宽度 内容解密 去除标签

javascript 复制代码
<el-table :fit="true" :data="tableData" style="width:calc(100vw)" @selection-change="handleSelectionChange" v-loading="loading" table-layout="auto">
      <el-table-column type="selection" width="20" />
      <el-table-column sortable label="Id" width="100"  prop="workitemId" align="center">            </el-table-column>

<el-table-column
        sortable
        v-for="item in showTableColumn"
        :key="item.prop"
        :fixed="item.fixed"
        align="left"
        :prop="item.prop"
        :min-width="item.minWidth"
        :width="computedWidth(item)"
        :show-overflow-tooltip="item.tooltip"
        :resizable="item.resizable"
        :label="item.label"
      >
      <template #default="{row}">
        <!-- link -->
        <template v-if="item.prop === 'title'">
           <el-link  type="primary" :underline="false" @click="showDetail(row)"> {{row.title }} </el-link>
        </template>
        <template v-if="item.prop === 'description'">
          <span v-if="row.description">{{(formattedUsers(row.description))}}</span>
         <!-- <span v-if="row.description" v-html="formattedUsers(row.description)"></span>
         <span v-else>暂无描述</span> -->
        </template>
      </template>
      </el-table-column>
      <!-- <el-table-column prop="action" label="操作" width="100">
      <template #default="scope">
          <el-button
            size="small"
            type="primary"
            link
            icon="Edit"
            @click="edit(scope.row)"
            >编辑</el-button
          >
     </template>
     </el-table-column> -->
    </el-table>


<script setup>

// 处理宽度
const computedWidth = computed(()=>{ 
  return function computedWidth(item) {
    // console.log(item);
    if (item.type === 'title') {
      return 370
    } else if (item.label === '描述') {
      return 276
    } else { 
      return 100
    }
  }
})

//解密AES并且去除相关img table等标签,保留纯文本
const formattedUsers = (val) => {
  return asc.decrypt(val).replace(/<[^>]+>/g, '');
}

</script>
相关推荐
Anlici7 分钟前
深入浅出Vue响应式原理:手把手解析Proxy与依赖追踪
前端·vue.js·面试
destinying11 分钟前
原生JavaScript实现页面滚动监听:从入门到精通
前端·javascript·vue.js
前端咸鱼陈13 分钟前
📈 Vue首屏优化终极指南:10大黑科技让加载速度飙升300%(附实战代码)
前端·vue.js
蒜香拿铁16 分钟前
【typescript进阶篇】(第一章) 装饰器
前端·javascript·typescript
JinSo20 分钟前
国际化探索:提升开发体验与灵活性
前端·javascript·架构
噶琪22 分钟前
从 Immer.js 再看浅拷贝,深拷贝
前端·javascript
Theodore_102232 分钟前
ES6(2) 函数详解
开发语言·前端·javascript·vue.js·es6
计算机学姐37 分钟前
基于Asp.net的高校迎新管理系统
vue.js·vscode·后端·mysql·sqlserver·c#·asp.net
GDAL39 分钟前
使用 `Express.js` 和 `better-sqlite3` 的最佳实践指南
javascript·sqlite·express
掘金安东尼1 小时前
上周前端发生哪些新鲜事儿? #405
前端·javascript·面试