vue+elmentuiplus中Table-column 动态添加calss

1、需要属性:class-name=''

<el-col :span="24">
	<el-form-item>
		<el-table :data="zoneData" style="width: 100%">
			<el-table-column clas-name="{'highligtColor':talentId===''}" prop="talentName" label="所属作者" align="center">
			</el-table-column>
			<el-table-column prop="enterpriseName" label="所属单位" show-overflow-tooltip="true" align="center">
			</el-table-column>
			<el-table-column label="操作" align="center">
				<template #default="{ row, $index }">
					<el-link @click="removeData($index)">删除</el-link>
				</template>
			</el-table-column>
		</el-table>
	</el-form-item>

</el-col>

style 样式

注意:我这里要加::v-deep

::v-deep(.highligtColor){

  color:red;

}

在Vue中,::v-deep是一个用于穿透作用域样式的特殊选择器。

当在一个带有scoped属性的<style>标签中使用::v-deep选择器时,表示允许访问子组件中的样式,即使这些样式被封装在了子组件的作用域中。

在Vue 2.x 中,当使用scoped属性来限定样式作用域时,子组件的样式默认是无法被修改的。如果需要修改子组件中的样式,可以使用::v-deep选择器。

在Vue 3.x 中,::v-deep选择器已经被废弃,取而代之的是>>>选择器,用法类似。

结论:::v-deep选择器或>>>选择器用于在Vue组件中穿透样式作用域,能够修改子组件中被scoped属性封装的样式。

2、但是还是无法动态改变clas,

由于在 Vue.js 和 Element Plus(或 Element UI)中,<el-table-column> 组件并不直接支持一个名为 :class-name 的属性。<el-table-column> 用于定义表格的列,并且它本身并不渲染为一个 DOM 元素,因此你不能直接在其上应用 CSS 类。

但是可以这样解决:

<el-table-column prop="enterpriseName" label="所属单位" show-overflow-tooltip="true" align="center">
	<template #default="{ row, $index }">
		<span :class="{'highligtColor':row.enterpriseId===''}">{{ row.enterpriseName }}</span>
	</template>
</el-table-column>

完整代码:

<el-col :span="24">

                  <el-form-item>

                    <el-table :data="zoneData" style="width: 100%"  >

                    <el-table-column prop="talentName" label="所属作者" align="center" >

                      <template #default="{ row, $index }"><span :class="{'highligtColor':row.talentId===''}">{{ row.talentName }}</span></template>

                    </el-table-column>

                    <el-table-column prop="enterpriseName" label="所属单位" show-overflow-tooltip="true" align="center">

                      <template #default="{ row, $index }"><span :class="{'highligtColor':row.enterpriseId===''}">{{ row.enterpriseName }}</span></template>

                    </el-table-column>

                    <el-table-column label="操作" align="center">

                      <template #default="{ row, $index }">

                        <el-link @click="removeData($index)">删除</el-link>

                      </template>

                    </el-table-column>

                  </el-table>

                  </el-form-item>

                 

                  <!-- <pagination v-show="authorSel_total > 0" :total="authorSel_total" v-model:page="authorSel_params.pageIndex"

                        v-model:limit="authorSel_params.pageSize" @pagination="authorList"  /> -->

                </el-col>

相关推荐

  1. vue+elmentuiplusTable-column 动态添加calss

    2024-05-11 11:22:05       35 阅读
  2. el-table-column叠加el-popover使用

    2024-05-11 11:22:05       36 阅读
  3. el-table-column表格匹配字典数据

    2024-05-11 11:22:05       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 11:22:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 11:22:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 11:22:05       82 阅读
  4. Python语言-面向对象

    2024-05-11 11:22:05       91 阅读

热门阅读

  1. 【skill】实体机安装Windows Server 2022

    2024-05-11 11:22:05       32 阅读
  2. STM32_HAL_RTC_实现获取日期

    2024-05-11 11:22:05       30 阅读
  3. b树和b+树的区别

    2024-05-11 11:22:05       41 阅读
  4. STM32学习和实践笔记(26):USART配置步骤

    2024-05-11 11:22:05       36 阅读
  5. IDEA指定配置文件启动

    2024-05-11 11:22:05       35 阅读
  6. 面试分享——Elasticsearch面试题

    2024-05-11 11:22:05       36 阅读
  7. Jenkins的原理及应用详解(一)

    2024-05-11 11:22:05       31 阅读
  8. Spring线程池配置

    2024-05-11 11:22:05       31 阅读
  9. NLP经典入门论文

    2024-05-11 11:22:05       31 阅读