element表格内组件执行多次的原因以及解决方法

element表格内组件执行多次的原因以及解决方法

element的table表格里的不良项是我自己封装的一个下拉组件,这个组件一开始我是在created里调用的,每次都会执行两次,找了半天,翻找资料后发现是如果表格里使用了fixed的话,fixed会重新加载一遍,所以相当于是执行了两遍,性能消耗太大了啊。。。出现这个问题的起因是因为我这个组件还需要传一个参数给后端过滤数据,但是如果用户先新增表格行 再去选数据,数据就无法更新过滤。

在这里插入图片描述

解决方法

1.一开始我是把fixed去掉了,去掉fixed是可以解决触发多次的问题,但是不满足我的项目要求(ps:如果fixed没用的话,可以删掉处理)
2.我看了element文档,发现有visible-change这个属性(下拉框出现/隐藏时触发),然后我就将请求放在下拉框出现时,这样就完美解决了一打开页面触发多次、数据过滤不起作用的问题,这只是我的解决方法,有更好的方法欢迎大家提供指正!

// template
<el-select
    v-model="selected"
    v-bind="$attrs"
    :loading="loading"
    @change="change"
    @visible-change="handleCaseVisibleChange"
  >
    <el-option
      v-for="item in options"
      :key="item.id"
      :label="item.inspectionNo"
      :value="item.inspectionNo"
    >
      <el-row :gutter="20">
        <el-col :span="12">{{ item.inspectionNo }}</el-col>
        <el-col :span="12" class="text-right">{{ item.inspectionName }}</el-col>
      </el-row>
    </el-option>
  </el-select>


//script
// 下拉框显示/隐藏
    handleCaseVisibleChange(visible) {
      if (visible) {
        this.fetchCaseList()
      }
    }
  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在 element 表格前添加单选框,可以使用以下步骤: 1. 在表格前添加一个 div 元素。 2. 在 div 元素中添加一个 radio 组件,用于表示单选框。 3. 将表格和单选框组件放在同一个 div 中。 4. 使用 CSS 样式对单选框和表格进行布局。 以下是代码示例: ```html <div> <el-radio v-model="selectedRow" :label="row"> </el-radio> <el-table :data="tableData"> <el-table-column prop="name" label="Name"> </el-table-column> <el-table-column prop="age" label="Age"> </el-table-column> </el-table> </div> ``` 在上面的代码中,我们使用了一个 `div` 元素将单选框和表格组合在一起。`el-radio` 组件用于渲染单选框,`v-model` 指令用于绑定选中的值。`el-table` 组件用于渲染表格,`prop` 属性用于指定表格列所需的数据属性,`label` 属性用于设置表头标题。我们可以根据需要添加更多的表格列。 ### 回答2: element表格前带单选框是指在element表格的每一行前面都会有一个单选框控件。单选框是一种常用的用户界面控件,用于在多个选项中选择一个。 在element表格中添加单选框有很多用途和优点。首先,单选框可以让用户很方便地进行选择,特别是当选项较多时,用户可以直接点击单选框来快速选择。其次,单选框的状态可以很明确地表示用户的选择,给用户提供了直观的反馈。 通过在element表格前加入单选框,可以提供更多的交互性和灵活性。比如,在表格中显示一组可选项,并且要求用户只能选择其中的一个选项。这对于用户进行选择或筛选非常有帮助,特别是在需要从多个选项中进行排他性选择的场景下。 单选框的使用还可以带来一些额外的功能。例如,用户可以通过选择单选框来全选或取消全选表格中的所有行。这可以简化用户在表格中进行批量操作的步骤,提高用户的效率和体验。 综上所述,element表格前带有单选框可以提供更好的用户交互和选择功能。单选框作为一种常用的用户界面控件,可以方便用户进行选择,并且提供明确的反馈。无论是用于选择特定项目还是用于批量操作,单选框都能在element表格中发挥重要作用。 ### 回答3: element 表格前带单选框,是一种常见的界面设计,用于在表格中选择单个选项。 单选框是一种用于选择一项的UI控件,通常是一个圆形框内有一个小圆点,用于标识是否选中。在表格中,每一行前面都带有一个单选框,可以通过点击单选框来选择对应行的数据。 这种设计常用于需要用户从多个选项中选择一个的情况。例如,在一个学生信息表格中,每一行代表一个学生的信息,包括姓名、年龄和性别等。如果要求用户选择一个学生,就可以在每一行前面加上一个单选框。用户只需要点击单选框即可选择对应的学生,系统可以获取用户选中的学生信息进行后续处理。 通过在表格前加入单选框,可以提高用户选择数据的便捷性和效率。用户不需要在多个选项中找到合适的选择按钮,而是直接在表格中进行选择。同时,用户可以一次只选择一个选项,避免了多选框所带来的选择困惑。 总的来说,element 表格前带单选框是一种简洁、直观的界面设计,适用于需要用户在表格中选择一个选项的场景,提高了用户体验和操作效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值