需求:
上传单个excel文件,手动导入,针对某些特定字段做相应错误提示。
后端同学已经写好了相应的接口,不过我们这前后端分离有些离谱,直接给了一段代码。。。哈哈哈
后端:
代码:入参为file
前端:
找大佬商量后,我们暂定的业务流程是,给一个modal点击事件,然后使用antdv中的upload组件,手动上传。
但是这块的代码设定是可以无限上传,查了一下相关的api,我的想法是上传一个文件之后,上面那个选择文件的按钮即置灰,不可点击,upload按钮可点击,在删除选择的文件之后,两个按钮又变回之前的初始状态,所以我们需要动态绑定button 的disabled样式,让disabled样式根据fileList的长度而定。
具体代码如下:
错误提示:
上传文件之后,需要对不合规的数据进行提示。我的想法是因为已经有上传这个弹窗了,所以错误提示的话就不再单独弹出了,直接显示在modal下面。最后在antdv中选择这个 样式
这块有两个小问题需要解决。
1、只有出现错误提示的时候才会有error弹窗
2、错误提示的内容需要换行展示
第一个问题,在alert中用v-if做了判断,当modalText(处理过的错误提示)不为空时,展示,否则,不展示。
2、第二个问题,错误提示其实后端已经做了换行,但是传到前端的时候并未生效。我们最后商定以 “*” 为标识。前端我这的考虑是,接收后端的error(字符串),使用split(" * ")分割,然后用使用ui li 列表样式循环 换行展示。
实现效果: