1 发现部分页面点击进去后会报以下错误,并且路由无法跳转,直接卡在当前报错页面。需要重新刷新才能显示,并且会大量报错。
报错:Uncaught (in promise ) TypeError: Cannot read properties of null (reading '')
通过排查发现,实际是ant的a-table导致的。
正常结构:
[
{"file1":'123',"f2":"23"},
{"file1":'1232',"f2":"5d"},
{"file1":'232323',"f2":"23233"}
]
如果是以下结构,并且有做处理,则建议把代码注释后刷新页面测试是否是此问题
[{"file1":'123',"f2":["12","32","45","67"]},
{"file1":'1232',"f2":["12","32","45","67"]},
{"file1":'232323', "f2":["12","32","45","67"]}
]
我的项目就是由于是此种数据结构,在 a-table 的代码更新后(采用template #bodycell ),此数据结构使用a-popover 进行列表渲染,会导致上面的报错问题。代码注释,修复后不再出现
2 显示嵌套结构的字段
更新后嵌套结构写法也更新了
[{"file1":'123',dataIndex
"f2":{"f3":"sfasdfasfda",
"f4":"sfdasfd"}}
},
{"file1":'1232',"f2":{"f3":"sfasdfasfda",
"f4":"sfdasfd"}}},
{"file1":'232323', "f2":
{"f3":"sfasdfasfda",
"f4":"sfdasfd"}}
]
以前的写法:
dataIndex:f2.f3 然后会进行取值
更新后的写法:
dataIndex: ["f2","f3"]
3 data-range 显示异常英文
<a-range-picker
:show-time="{ format: 'HH:mm' }"
format="YYYY-MM-DD HH:mm"
:placeholder="['开始时间', '结束时间']"
:disabled-date="disabledDate"
@ok="onRangeOk"
allowClear
:locale="locale"
/>
1 配置了locale 使用中英文,更改置后,仍然出现了英文的月份、星期
2 删node_modules 无用,删moment无用 ,此方式有利于减少无用包。
3 解决:在全局进行配置 app.vue 中进行配置解决问题
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
dayjs.locale('zh-cn');