TreeviewCopyright © aleen42 all right reserved, powered by aleen42
前端扩展常见问题汇总
1、给查询区内字段设置默认值时或者操作查询区内字段模型获取字段值的时候,赋不上值或取不到值,是怎么回事?
- 首先我们排查问题从以下几点来排查问题根源:
- 1、我们看一下上述的动作是否在查询区初始化完成后,进行的赋值操作,也就是在查询区全部加载完成后(afterInit钩子函数里面),进行的操作;
- 2、假如我们是把赋值扩展操作是在查询区加载完成后触发的,还没有生效,这里要注意,获取到赋值的那个模型,看一下modelType是否已经获取到此字段的真实模型;
- 3、当上述条件都满足的情况下,扩展操作还是没有起作用的话,在根据获取的模型看下是否是ListModel,假如是,根据列表模型的方法赋值即可。
2、在查询区字段过多时,如何实现伸缩效果?
- 1、在设计器里面,需要把隐藏的字段放到组件group中(group相当于div块);
- 2、通过group组件内部订阅的updateViewMeta事件来更新视图数据( viewModel.execute('updateViewMeta', { code: 'form28131mc', visible:true});)
3、扩展开发中,会碰到A模态框关闭同时打开B模态框的情况,很多时候是A关闭了,B没有弹出?
- 1、出现这种情况,首先需要确定cb.loader.runCommandLine('bill', data, viewModel)里面的data对象里面单据类型(billType)和单据号(billno)是否和弹窗的匹配;
- 2、当上述条件满足时,我们看一下cb.loader.runCommandLine('bill', data, viewModel)里面的第三个参数viewModel是不是当前页面的viewModel,这里需要注意的是,当没有缓存父页面的viewModel模型时,直接用viewModel,其实是用的A模态框的模型,这里A模态框关闭了,A模态框的模型销毁了,所以B模态框没有弹出,解决方案就是关闭A弹窗,同时打开B弹窗时,取出之前缓存的父页面模型,放到下面第三个参数上就可以。
4、查询区如何手动触发查询、重置操作?
可以通过获取查询按钮、重置按钮的模型执行上面的点击事件--viewmodel.get('search\reset').fireEvent('click') s
5、查询区重置按钮点击之后,怎么取消默认做的那次查询?
可以监听查询模型的afterResetClick事件,事件返回return false;即可阻止默认查询操作。
6、卡片页面,在保存之前beforeSave函数的时候,再修改页面数据不起作用的问题?
- beforeSave方法调用的时候已经把数据收集完了,再改页面上的值也不会收集了,可以在beforeSave的参数中直接修改。
7、如何在前端获取当前登录用户信息?
- 可以使用获取上下问来获取用户信息---cb.rest.AppContext.user
8、在扩展开发中表格表头顺序没有按照设计器顺序展示?
- 可以通过表格右上角表格表头设置操作,点击恢复默认就可以恢复顺序设置
9、查询区内,如何将错误信息显示在输入框的下面?
- 获取到输入框的真实模型,然后设置错误信息--viewModel.getCache('FilterViewModel').get('xxx').getFromModel().setCheckMsg('error msg')
- 取消错误信息提示--viewModel.getCache('FilterViewModel').get('xxx').getFromModel().setCheckMsg(null)
10、扩展开发中,如何取消表格双击点开单卡页的操作?
- 通过设置表格状态'forbiddenDblClick'为true即可--viewModel.getGridModel().setState('forbiddenDblClick',true)
11、前端函数实现进度条
function Loading () {
var hook = React.useState(true);
stop = hook[1];
return React.createElement(TinperNext.Spin,{spinning: hook[0]});
};
//开启进度条
ReactDOM.render(React.createElement(Loading),document.createElement('div'));
//结束进度条
stop();
12、页面规则被流程字段权限覆盖问题处理方法:详情页添加脚本监听流程字段权限设置生效后再自定义脚本逻辑
viewModel.on('afterProcessWorkflow',function(data) {
debugger;
})
13、textarea字段预览时换行没有效果?加脚本
document.querySelector('.textAreaValue pre').style.whiteSpace = 'pre-wrap';
14、主子页面新增时,子表想从excel一列一列粘贴,选中子表表格,打开编辑器增加:"cStyle":{"bPaste": true}
其他常见问题详情
访问地址:https://gpgy5k.yuque.com/docs/share/267032ac-fe40-4767-8d78-0f06da55d537