1.下拉框显示的问题


这种下拉看不全,不方便选择。

修改方法:

 <a-select labelInValue :options="mapTypes" v-model="record.mapType"
                          @blur="blur(index,'mapType',text,record)"
                          :dropdown-menu-style="{width:'200px'}" 
                          :dropdownMatchSelectWidth="false"
                ></a-select>

增加 dropdown-menu-styledropdownMatchSelectWidth 属性

显示效果

2. 使用v-if 下拉框出现的怪现象

2.1 问题现象

在设计表单时,当类型选择选择A时,显示条件容器A,选择B时显示条件容器B,但是运行时,发现两个下拉框的选项时一样的。 经调试发现,我们在显示A时,A容器的下拉框执行了CREATED方法,切换到B时,B容器下拉框并没有执行。

2.2 原因分析

可以参考下面的这篇文章。

https://segmentfault.com/a/1190000020716723

官方文件给出的说明。

https://cn.vuejs.org/v2/api/#key

2.3 解决办法

2.3.1 改变v-if

在设计表单时,我们默认将 v-if 改成 v-show ,意思是,页面在加载的时候,每一个控件都会执行 执行 created 方法。

2.3.2 在v-if 标注的元素增加 key属性

这样在key变化时,他会执行 条件容器里面的 控件,就会重新执行控件的 created 方法。我们可以看到完整地触发组件的生命周期钩子。

3.多个项目引用jpaas-common-lib引起的问题

3.1.说明

平台在运行的时候因为我们有几个依赖都使用了jpaas-common-lib依赖,所以当该依赖的版本不统一的时候就会出现bus报错。
如下:

比如表单组件引用了jpaas-common-lib,拖拽表单组件也引用这个包,如果两个包引用的版本不一致就会导致这个问题。

3.2.解决方法

在项目根目录下的package.json 中有两个依赖

  • dependencies

这个依赖,在编译的时候会编译到包中。类似 java 的maven compile 依赖。

  • devDependencies

这个依赖是环境的依赖,类似于 java的maven system 依赖,类似JDK环境,在编译的时候不会将这个包编译到组件包中,可以统一使用 主项目的依赖。

以前我们报错了是因为我们把jpaas-common-lib安装在 (dependencies)中了;

  • 所以我们现在找到生产环境(dependencies)下的( “jpaas-common-lib”:xxx ),剪切到开发环境(devDependencies)中,然后运行

npm install --registry=http://nexus.redxun.cn:18081/repository/npm-redxun-group

我们在组件打包的时候,都把jpaas-common-lib 放到 devDependencies。在主项目比如 jpaas-vue 在 dependencies 添加依赖。

  • 或者我们直接删除掉生产环境(dependencies)下的 “jpaas-common-lib”:xxx ,然后运行
 npm install jpaas-common-lib@1.10.85 --registry=http://nexus.redxun.cn:18081/repository/npm-redxun-group --save-dev 
 //jpaas-common-lib@1.10.85换成你需要的版本;
 //最后面的 --save-dev 必须要添加,表示指定依赖安装在开发环境下

4. daterange日期范围控件问题

日期范围控件,使用代码进行赋值绑定后,再通过日期控件进行选择,发现不能正确赋值,这个是在列表的日期对话框中发现的。

4.1 解决办法:

在日期控件上增加 ref 属性,通过 编写 @change 事件,使用以下代码

this.$refs.控件的ref属性.value=[date1,date2] 进行赋值就解决了。

文档更新时间: 2022-03-27 16:09   作者:zyg