近期把 element-ui 升级到了官网最新的 2.15.7 版本,无意间发现控制台出现了 Prop being mutated: "placement"
警告,完整警告:
[Vue warn]: Avoid mutating a prop directly since the value will be
overwritten whenever the parent component re-renders.
Instead, use a data or computed property based on the prop's value.
Prop being mutated: "placement"
错误原因
锁定组件,发现是 el-date-picker 组件抛出的警告。通过在 github 上搜索,最终找到了答案
问题出在了这个 PR #21806 增加了 props placement 用来适应位置,但是之前的代码 created 时有给 placement 赋值。
this.placement = PLACEMENT_MAP[this.align] || PLACEMENT_MAP.left;
说白了之前 placement 是 data 的对象,现在变成 props 了,然后修改就报错了
解决方案
想要解决这个问题,可以修改版本到 2.15.8
npm uninstall element-ui
npm install element-ui@2.15.8 -s
解决方案来自:https://github.com/ElemeFE/element/issues/21905
本文共 137 个字数,平均阅读时长 ≈ 1分钟
谢谢
nb 解决了
我的也是,elementui版本是2.13.0也报错了,升级也没用也情缓存了
大佬6666666666666666666666
老铁。这个问题解决了吗 我降低了版本还是没用
我的解决了,可以看看评论区,说不清你的情况和下面的情况差不多
element没更新版本这两天也开始报错了,"element-ui": "^2.13.1"
尝试把 ^ 去掉下载指定版本
666,谢谢大佬,去掉了^重新cnpm i 一下再npm run dev就好了,现在版本是"element-ui": "2.13.1"
大佬6666666666666666666666
已解决
大佬,你是怎么解决的
升级版本2.15.8
感谢大佬,已解决
不行啊,升级到2.15.8,重新打包还报这个错
降版本
浏览器缓存清清。我没遇到过
我上级到2.15.8 没生效,然后重新npm run dev 就好使了
解决了就行
感谢您大牛,我这问题真是在网上查了好几天,这个问题是这两天刚出现的,之前没发现有这个问题
还是报错
本地运行没问题,测试环境和uat环境还是会有这个问题
重新启动下服务试试,我就是这么好使的
删除 node_modules 、package-lock.json
然后修改element-ui 版本号到 2.15.8
这样试试。
巧了 我就说前一天还好好的
能不降级处理码
时间选择器el-time-picker可以增加 placement="bottom-start" 解决问题
解决
我也遇到这个问题了
直接降级解决
降级到2.15.1还是不行
版本号改为 2.15.8,然后清除下缓存。
可以不降级处理吗大佬
不管都可以,不影响使用。降级或者等新版本更新升级版本