# Avue 升级注意事项

  • avue项目由2.6.18 升级至2.8.22,已知以下用法需要调整。
  • 新版本才用extends的方式自定义crud组件,保留原有的avue-crud组件。
  • 新增自定义组件oce-crud组件,原框架所有avue-crud均需要替换为oce-crud组件。

# 自定义crud组件说明

  • column.overHidden 默认值修改为true
  • 调整功能列位置
  • 重写getTableHeight方法,使用时可不需要在配置calcHeight,实现高度自定义
  • css-列显隐控制到crud组件范围内,删除el-drawer组件上append-to-body属性
  • css-分页栏居中
  • css-添加高度修改过渡效果
  • 默认开启条纹 stripe
  • 表单名称不加冒号(改avue-from源码)
  • menuRight 插槽位置(无明确需求,暂不修改)
  • 修改新增按钮样式
  • 默认组件尺寸改为 mini (改avue源码)
  • 自动计算默认最小宽度 setMinWidth
  • input-tree组件点击事件改造(改avue源码,同步伟榕修改,在src\views\system\user\index.vue中使用,后续修改可取消)
  • dialogMenuPosition默认值改为center
  • 抽屉样式同步伟榕修改

# CRUD组件新版已知必要变更

# option部分

option: {
    column: [
        {
            prop:'stationCode/stationName', // porp字段不能用“/”命名,可以用“_”代替
            showColumn: false, // 2.8.22中只能表示该列是否允许动态控制,表格中默认显示,如需要在表格中隐藏需用hide字段控制
            hide: true,
            title: '表格标题', // 与excel导出组件功能重合,新版若不用必须去除
            overHidden: true, // 文字超出隐藏 默认值改为true(官方文档为false)
        }
    ]
}

# template部分

<template>
    <!-- 表单项自定义插槽 数据scope模型发生变化 -->
    <template slot-scope="scope" slot="longitudeForm">
        <!-- {{ scope }} -->
        <el-input
                  v-model="scope.value"
                  type="number"
                  class="logLatInput"
                  placeholder="有效值(-180 ~ 180)"
                  />
    </template>
</template>

# scope结构

{
    "value":106.57042,
    "column":{
        "label":"经度",
        "prop":"longitude",
        "formslot":true,
        "minWidth":"100px",
        "rules":[
            {
                "required":true,
                "message":"请选择 经度",
                "trigger":"blur"
            }
        ],
        "index":"",
        "boxType":"edit",
        "dicFlag":false
    },
    "size":"small",
    "disabled":false,
    "type":"edit"
}

# 特别说明

  • 请勿在使用ref获取crud实例后,继续获取其子组件操作的方式。
 // /system/user/index.vue 436行
this.$refs.crud.$children[6].clearSelection();
this.$refs.crud.$children[4].columnBox = true;
Last Updated: 4/17/2023, 4:44:58 PM