Yb-components Yb-components
首页
开发规范
yb-cli
  • 开发指南
  • 更新日志
  • 组件
关于
首页
开发规范
yb-cli
  • 开发指南
  • 更新日志
  • 组件
关于
  • 开发指南
  • 更新日志
  • 数据展示

    • YbTable 表格
    • YbCardList 卡片列表
    • YbTree 树
    • YbCascaderList 级联列表
    • YbSimpleTablePage 分页查询表格
    • YbSimpleCardPage 分页卡片列表
    • YbBasicProfile 基础详情数据展示
    • YbOutscrollLayout 固定在滚动区域外
    • YbOutscrollTree 固定在滚动区域外的Tree
    • YbInfoLayout 信息页布局
    • YbEditLayout 编辑页布局
  • 数据录入

    • YbRowsPopoverForm 浮层多行表单
    • YbFormily 配置式表单
    • YbForm 表单
    • YbRowsForm 多行表单
    • YbCollapseForm 折叠表单
    • YbQueryFilter 筛选表单
    • YbFilesSelect 文件选择器
      • YbRangeWrapper 范围结构
      • YbRangeDatepicker 日期范围
      • YbRange 范围
      • YbFormulaInput 简单运算公式输入
      • YbCron 表达式生成器
      • YbTreeSelect 树型选择器
      • YbInputgroupWrapper 复合组
      • YbThemeSelect 主题风格选择器
      • YbSelect 选择器
      • YbPaginationSelect 分页选择器
      • YbCodemirror 代码编辑器
      • YbCodemirrorSql SQL编辑器
      • YbCodemirrorJson JSON编辑器
      • YbCodemirrorXml XML编辑器
      • YbCombiDatepicker 组合时间
      • YbQuarterPicker 季度选择器
      • YbRangeQuarterPicker 季度范围选择器
      • YbConditionSelect 条件选择器
      • YbCheckboxGroup 多选框组
      • YbIconSelect 选择器
      • YbTagsInput 标签输入框
    • 其他组件

      • YbBallLoading 加载中
      • YbSymbolIcon 多色小图标
      • YbKeybuttonsPopover
      • YbPercentBattery 电池百分比
      • YbAffix 固钉
      • YbPagination 分页器
      • YbCollapse 折叠面板
      • YbScrollTool 滚动工具
    • 物料

      • YbMainSideMenu 侧栏菜单
      • YbLoadRemote 远程应用加载
      • YbLayoutPro 布局
      • YbMainPro 主页
      • YbAppMain 应用主页
      • YbAppLogin 普通登录页
      • YbAppPortal Portal登录页
    • 指令

      • v-fixed-in-scroller
    • Mixins

      • pageList_mixin
      • getScopedSlot_mixin
      • editFormPage_mixin
      • uploadProgressPage_mixin
      • rowActions_mixin
      • rowDeletes_mixin
      • drawerToRouterTab_mixin
    • 实验室

      • YbSwiper 轮播
    • 组件
    • 数据录入
    zougt
    2022-05-17

    YbFilesSelect 文件选择器

    在el-upload基础上封装成一个 v-model 形式的选择文件的组件,可以直接用于表单当中,选择文件后不自动上传。

    # 基本使用

    默认使用的 el-upload 属性有:

    • drag:true
    • multiple:true
    • accept:'.xlsx,.xls,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
    • 'auto-upload': false
    • limit:1
    将上传文件拖到此处,或点击选择
      <template>
          <yb-files-select v-model="value" :limit="10" />
      </template>
      <script>
          export default {
              data() {
                  return {
                      value: null,
                  };
              },
              watch: {
                  value: function () {
                      console.log(this.value);
                  },
              },
          };
      </script>
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      显示 复制 复制

      # 回显值

      选择文件后得到的 value 是 File (opens new window)对象的数组,上传到服务端后,返显组件值可以是 object[]

      将上传文件拖到此处,或点击选择
      • food.jpeg 按 delete 键可删除
      • food2.jpeg 按 delete 键可删除
      <template>
          <yb-files-select v-model="value" :limit="10" accept="image/*" />
      </template>
      <script>
          export default {
              data() {
                  return {
                      value: [
                          {
                              name: 'food.jpeg',
                              url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
                          },
                          {
                              name: 'food2.jpeg',
                              url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
                          },
                      ],
                  };
              },
          };
      </script>
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      显示 复制 复制

      # 照片墙

      使用 el-upload 的 list-type 属性来设置文件列表的样式。

      • food.jpeg 按 delete 键可删除
      • food2.jpeg 按 delete 键可删除
      <template>
          <yb-files-select
              list-type="picture-card"
              :drag="false"
              v-model="value"
              :limit="10"
              accept="image/*"
              drag-message="99999"
          >
          </yb-files-select>
      </template>
      <script>
          export default {
              data() {
                  return {
                      value: [
                          {
                              name: 'food.jpeg',
                              url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
                          },
                          {
                              name: 'food2.jpeg',
                              url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
                          },
                      ],
                  };
              },
          };
      </script>
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      显示 复制 复制

      # 在表单中使用

      在 yb-form 中使用很方便

      <template>
          <div>
              <yb-form
                  ref="form"
                  :formItems="formItems"
                  :model="formModel"
                  label-width="100px"
                  @submit.native.prevent="onSubmit"
              >
                  <template v-slot:formItems="formItem">
                      <el-input
                          v-model="formModel[formItem.prop]"
                          clearable
                      ></el-input>
                  </template>
                  <template v-slot:excelFiles="formItem">
                      <yb-files-select
                          v-model="formModel[formItem.prop]"
                          :limit="10"
                      />
                  </template>
                  <template v-slot:buttons="formItem">
                      <el-button type="primary" native-type="submit">提交</el-button>
                      <el-button>取消</el-button>
                  </template>
              </yb-form>
          </div>
      </template>
      <script>
          export default {
              data() {
                  const formItems = [
                      {
                          label: '标题',
                          prop: 'title',
                          rules: [
                              {
                                  required: true,
                                  message: '请输入',
                                  trigger: 'blur',
                              },
                          ],
                          defaultValue: '',
                      },
                      {
                          label: 'excel文件',
                          prop: 'excelFiles',
                          rules: [
                              {
                                  required: true,
                                  message: '请选择excel文件',
                                  trigger: 'change',
                              },
                          ],
                      },
                      {
                          label: '',
                          prop: 'buttons',
                      },
                  ];
                  const formModel = formItems.reduce((tol, item) => {
                      return {
                          ...tol,
                          [item.prop]:
                              typeof item.defaultValue !== 'undefined'
                                  ? item.defaultValue
                                  : null,
                      };
                  }, {});
                  return {
                      formItems,
                      formModel,
                  };
              },
              methods: {
                  onSubmit() {
                      this.$refs['form']
                          .getForm()
                          .validate()
                          .then(() => {
                              const values = { ...this.formModel };
                              const formData = new FormData();
                              Object.keys(values).forEach((key) => {
                                  if (
                                      Array.isArray(values[key]) &&
                                      Object.prototype.toString.call(
                                          values[key][0]
                                      ) === '[object File]'
                                  ) {
                                      values[key].forEach((item) => {
                                          formData.append(key, item);
                                      });
                                      delete values[key];
                                  }
                              });
      
                              console.log('验证成功', values, formData);
                          })
                          .catch((err, errFields) => {
                              console.log('验证失败', err, errFields);
                          });
                  },
              },
          };
      </script>
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      显示 复制 复制

      # 选择图片转成 base64 提交

      在 yb-form 中与其他字段一起提交

      <template>
          <div>
              <yb-form
                  ref="form"
                  :formItems="formItems"
                  :model="formModel"
                  label-width="100px"
                  @submit.native.prevent="onSubmit"
              >
                  <template v-slot:formItems="formItem">
                      <el-input
                          v-model="formModel[formItem.prop]"
                          clearable
                      ></el-input>
                  </template>
                  <template v-slot:fileImages="formItem">
                      <yb-files-select
                          list-type="picture-card"
                          :drag="false"
                          v-model="formModel[formItem.prop]"
                          :limit="10"
                          accept="image/*"
                      >
                      </yb-files-select>
                  </template>
                  <template v-slot:buttons="formItem">
                      <el-button type="primary" native-type="submit">提交</el-button>
                      <el-button>取消</el-button>
                  </template>
              </yb-form>
          </div>
      </template>
      <script>
          export default {
              data() {
                  const formItems = [
                      {
                          label: '标题',
                          prop: 'title',
                          rules: [
                              {
                                  required: true,
                                  message: '请输入',
                                  trigger: 'blur',
                              },
                          ],
                      },
                      {
                          label: 'base64图片',
                          prop: 'fileImages',
                          rules: [
                              {
                                  required: true,
                                  message: '请选择图片',
                                  trigger: 'change',
                              },
                          ],
                          defaultValue: [
                              {
                                  name: '测试图片',
                                  url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANkAAADrCAYAAADkDDPQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiMzZhNmViYS0yM2Y4LTdiNDMtYmZlYS0zMGYzNTMxNjZhODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODkzQTI2QjI4NDBDMTFFQ0I2QkRBQTFFNUIwNTA5N0UiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODkzQTI2QjE4NDBDMTFFQ0I2QkRBQTFFNUIwNTA5N0UiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N2UyODk4NjktMWM1OC00YjgyLTliOWMtYzE1MGJiN2RjYmM2IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NDcyNTg2ZGMtY2M2Yy0xMTdmLTkzOGEt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',
                              },
                          ],
                      },
                      {
                          label: '',
                          prop: 'buttons',
                      },
                  ];
                  const formModel = formItems.reduce((tol, item) => {
                      return {
                          ...tol,
                          [item.prop]:
                              typeof item.defaultValue !== 'undefined'
                                  ? item.defaultValue
                                  : null,
                      };
                  }, {});
                  return {
                      formItems,
                      formModel,
                  };
              },
              methods: {
                  onSubmit() {
                      this.$refs['form']
                          .getForm()
                          .validate()
                          .then(() => {
                              const values = { ...this.formModel };
                              // fileImages 可能是[{name:'aaa.png',url:'base64'},file,file]
                              const allP = Promise.all(
                                  values.fileImages.map((file) => {
                                      if (
                                          Object.prototype.toString.call(file) ===
                                          '[object File]'
                                      ) {
                                          return new Promise((resolve, reject) => {
                                              const oFileReader = new FileReader();
                                              oFileReader.readAsDataURL(file);
                                              oFileReader.onload = (e) => {
                                                  const base64 = e.target.result;
                                                  resolve(base64);
                                              };
                                              oFileReader.onerror = reject;
                                          });
                                      }
                                      return Promise.resolve(file.url);
                                  })
                              );
                              allP.then((fileArr) => {
                                  values.fileImages = fileArr;
                                  console.log('验证成功', values);
                              });
                          })
                          .catch((err, errFields) => {
                              console.log('验证失败', err, errFields);
                          });
                  },
              },
          };
      </script>
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      显示 复制 复制

      # Props

      参数 说明 类型 可选值 默认值
      value / v-model 绑定值 object[] / file[] -- --
      limit 最大选择数量 number -- 1
      dragMessage 可拖动文件到的位置的文字描述 ,因为组件默认是开启 drag 属性的 string -- 将上传文件拖到此处,或
      ... 其他属性同 el-upload (opens new window) -- -- --
      上次更新: 2023/08/18, 17:53:01
      YbQueryFilter 筛选表单
      YbRangeWrapper 范围结构

      ← YbQueryFilter 筛选表单 YbRangeWrapper 范围结构→

      Theme by Vdoing | Copyright © 2021-2025 YB-GZ | MIT License
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式