用Vue+element ui在设置弹出对话框时,遇到的细节难题:

1、当日期搜索框el-date-picker组件,绑定的变量为数组[],且在获取其窗口传入参数值时,用date[0]和date[1]获取,在选择日期进行第一次传参搜索数据后,将日期清零,其会报Cannot read property '0' of null的错误。

解决办法:监听其值,当其为null时,重新设置其为[]即可。

  watch: {
    'tableConfigByDisease.date' (val) {
      if (val == null) {
        this.tableConfigByDisease.date = []
      }
    }
  }

2、在table上触发点击事件弹出dialog对话框,且对话框中的数据需要使用被点击的table-column中的属性值来进行筛选,如何保存其值,进行下一步操作。

解决办法:在data里面定义变量,当触发事件时,令this.property = row.property

3、element-ui table表格展开行如何设置每次只能展开一行,因为展开多行时,@expand-change事件是对整体展开行数据进行操作,展开行下的数据会显示同样的数据。

实现方法:在table中设置row-key和expand-row-keys属性,当其值相同时则展开。

        <el-table
          :data="tableConfigByDisease.list"
          :listLoading="tableConfigByDisease.listLoading"
          style="width: 100%"
          @expand-change="handleExpandChange"
          :row-key="getRowKeys"
          :expand-row-keys="expands">
        </el-table>
  data () {
    return {
      expands: []
    }
  },
  methods: {
    getRowKeys (row) {
      return row.diseaseId
    },
    handleExpandChange (row, expandedRows) {
      this.tableConfigByTeam.list = []
      if (expandedRows.length) {
        this.expands = []
        if (row) {
          this.expands.push(row.diseaseId)
        } else {
          this.expands = []
        }
      }
    }
  }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值