动态显示a-table表头

情景描述:使用下拉框控制表头动态显示

1.使用a-select中的onChange属性触发changeNum事件

代码

<a-form-item label="每靶位人数">
   <a-select ref="select" placeholder="请选择人数" v-model:value="queryParam.capacity"         
       style="width: 120px" @change="changeNum">
          <a-select-option value="2">2人</a-select-option>
          <a-select-option value="3">3人</a-select-option>
          <a-select-option value="4">4人</a-select-option>
   </a-select>
</a-form-item>

表头数据

2.通过对表头数组的裁剪来来实现动态表头

代码

changeNum(e){
            console.log("---------");
            console.log(e);
            if(e == 4){
                this.tempColumns = this.columns
            }else if(e == 3){
                this.tempColumns = this.columns.slice(0,3)
            }else if(e == 2){
                this.tempColumns = this.columns.slice(0,2)
            }
        },

3.实现效果

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
`el-table` 是 Element UI 中的一个表格组件,当表头的内容过长导致超出容器宽度时,你可以使用 `show-header` 和 `cell-class-name` 选项来实现表头的自动隐藏和显示。默认情况下,表头是不滚动的,但如果设置 `show-header` 为 `false`,则可以在需要的时候隐藏表头。 具体操作如下: 1. 配置 `show-header` 属性: ```html <el-table :data="tableData" :show-header="isShowHeader"> <!-- 其他表头和列配置 --> </el-table> ``` 2. 使用 `cell-class-name` 根据表头单元格的宽度来动态调整样式。创建一个方法来控制 `isShowHeader` 的值: ```javascript export default { data() { return { tableData: ..., isShowHeader: true, // 默认开启 // 其他数据 }; }, methods: { toggleHeader() { this.isShowHeader = !this.isShowHeader; } }, computed: { // 如果需要根据某些条件隐藏表头,可以在 computed 中计算 isShowHeader // 例如,如果某个列的数据长度过长: headerLengthComputed() { const longColumnData = this.tableData.longColumnData; // 假设有一个 'longColumnData' 属性 return longColumnData.length > someThreshold ? false : true; }, isShowHeaderComputed() { return this.headerLengthComputed; } }, }; ``` 然后,在模板中添加一个点击事件来切换表头显示状态: ```html <el-table-column cell-class-name="headerClass" label="Long Column Header" width="100" @click="toggleHeader" /> ``` CSS 类 `headerClass` 可以用来调整隐藏状态下的样式: ```css .headerClass.hidden { display: none; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值