Vue、element

一、表单

第一步、打开对话框或者跳转路由,初始化必须清除验证

第二步、自定义表单验证规则,必须调用callback()

      sealInfoRules: {
        organization: [
          {
            validator: (rule, value, callback) => {
              if (value[0] == undefined || value[1] == undefined) {
                return callback(new Error('请选择市局单位'));
              } else {
                callback();  // 就是这里,必须调用一次空callback
              }
            },
            trigger: 'change'
          }
        ],
	}

第三步、通过watch规定v-model禁止输入空格:

  watch: {
    ['sealInfoForm.organizationFullName'](val) {
      if (val != undefined) return val.replace(/\s/g, '');
    }
  }

二、上传:

关于预览:

  1. 通过URL.createObjectURL(file.raw);
  2. 转换为blob地址
  3. image的src设置成blob地址

关于formData:

  1. formData的实例内容无法通过控制台直接打印

三、el-menu:

default-index不能直接设置成this.$route,这样直接输入url,菜单不会随之高亮

四、el-table:

  1. 重置或者搜索,表格页数需要归1
  2. 两行,超出省略(会有省略行实际高度超高问题):
<template>
 	<el-table-column prop="approver" label="待审批人" min-width="200">
        <template slot-scope="scope">
          <div class="tooltip-wrap">
            <el-tooltip
              class="item"
              effect="dark"
              :content="scope.row.approver"
              placement="top"
            >
              <span class="overflow-content">
                {{ scope.row.approver || '--' }}
              </span>
            </el-tooltip>
          </div>
        </template>
	</el-table-column>
</template>

<style>
 /deep/.shell-table__main {
    margin-top: 24px;
    margin-bottom: 24px;
    .el-table__body {
      td {  //  行上下padding设置在这里
        padding-top: 8px !important;
        padding-bottom: 7px !important;
      }
    }
    .tooltip-wrap {
      display: flex !important;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      height: 40px;
      line-height: 20px;
     .overflow-content {
        display: -webkit-box;
        text-overflow: ellipsis;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
      }
    }
    .el-table__body-wrapper {
      min-height: 560px;  // table最小高度设置在这里
    }
  }
  </style>

download:

/**
 * 下载文件
 */
ajax.download = function(url) {
  return new Promise((resolve, reject) => {
    axios({
      url,
      method: 'get',
      responseType: 'blob'
    })
      .then(res => {
        // console.log(res);
        const { data } = res;
        // console.log(decodeURIComponent(res.headers["content-disposition"]));
        const fileName = decodeURIComponent(res.headers['content-disposition'])
          .split(';')[1]
          .split('=')[1];
        const blob = new Blob([data], {
          type: 'application/vnd.ms-excel;charset=utf-8'
        });
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        link.download = fileName;
        link.click();
        resolve();
      })
      .catch(err => {
        reject(err);
      });
  });
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值