给el-table的表头某列添加自定义el-dropdown,点击无效的问题

slot的方式:

                      <el-table-column prop="policyNo" label="号码" :align="columnAlign">
                        <template slot="header">
                          <el-dropdown trigger="hover" @command="handleCommand">
                            <span style="font-size:12px;font-weight:100">
                              号码<i class="el-icon-arrow-down el-icon--right" />
                            </span>
                            <el-dropdown-menu slot="dropdown">
                              <el-dropdown-item command="a">选中全部</el-dropdown-item>
                              <el-dropdown-item command="b">取消选中全部</el-dropdown-item>
                            </el-dropdown-menu>
                          </el-dropdown>
                        </template>
                      </el-table-column>

render-header的方式:

<el-table-column prop="policyNo" :align="columnAlign" :render-header="renderEmotionValue" />
renderEmotionValue(creatElement, { column, $index }) {
      return (
        <el-dropdown onCommand={this.handleCommand }>
          <span style="font-size:12px;font-weight:100">
          号码<i class='el-icon-arrow-down el-icon--right'></i>
          </span>
          <el-dropdown-menu slot='dropdown'>
            <el-dropdown-item command='a' >选中全部</el-dropdown-item>
            <el-dropdown-item command='b'>取消选中全部</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
      )
    }

注意:

两种方式的触发事件的写法不一样:
@command=“handleCommand” 和 onCommand={this.handleCommand }

为了在el-tab-pane中添加el-dropdown,我们需要使用自定义插槽。下面是一个简单的例子,演示如何在el-tab-pane中添加el-dropdown。 ```html <template> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="Tab 1" name="1"> <div class="tab-content"> <slot name="tab1"></slot> </div> </el-tab-pane> <el-tab-pane label="Tab 2" name="2"> <div class="tab-content"> <slot name="tab2"></slot> </div> </el-tab-pane> </el-tabs> </template> <script> export default { data() { return { activeName: '1' }; }, methods: { handleClick(tab, event) { console.log(tab, event); } } }; </script> ``` 在上面的代码中,我们使用了el-tabs和el-tab-pane组件来创建选项卡。我们还定义了两个自定义插槽,分别用于Tab 1和Tab 2。 现在,我们可以在自定义插槽中添加el-dropdown组件。下面是一个例子: ```html <template> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="Tab 1" name="1"> <div class="tab-content"> <slot name="tab1"></slot> <el-dropdown> <span class="el-dropdown-link"> 下拉菜单<i class="el-icon-arrow-down el-icon--right"></i> </span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item>选项一</el-dropdown-item> <el-dropdown-item>选项二</el-dropdown-item> <el-dropdown-item>选项三</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </div> </el-tab-pane> <el-tab-pane label="Tab 2" name="2"> <div class="tab-content"> <slot name="tab2"></slot> <el-dropdown> <span class="el-dropdown-link"> 下拉菜单<i class="el-icon-arrow-down el-icon--right"></i> </span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item>选项一</el-dropdown-item> <el-dropdown-item>选项二</el-dropdown-item> <el-dropdown-item>选项三</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </div> </el-tab-pane> </el-tabs> </template> <script> export default { data() { return { activeName: '1' }; }, methods: { handleClick(tab, event) { console.log(tab, event); } } }; </script> ``` 在上面的代码中,我们在自定义插槽中添加el-dropdown组件。我们还使用了el-dropdown-menu和el-dropdown-item组件来创建下拉菜单。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值