elementUI中
发布于 2022-09-12 03:57:18 字数 124 浏览 13 评论 0

在element中用<el-cascader标签的lazyLoad(动态加载)遇到一个问题,就是例如我是“编辑”的,所以打开时就要有一个值,但是这组件我发现,编辑时给他赋了值也不显示,这个有人遇到过没?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

梦里泪两行 2022-09-19 03:57:18

因为是动态加载,编辑回显也是需要提前把数据加载出来的,赋值之前列表数据已经有了么?

情深如许 2022-09-19 03:57:18

最后怎么解决了呢?我是听过强制重新渲染来解决的

坏尐絯 2022-09-19 03:57:18

我的解决方案是偷了个懒,让后台同时给了上次选中的value值和label的值。然后vue文件中data里面新增两个字段来保存,一个是保存value的数组,一个是将label拼接“/”后作为字符串保存起来,当该字符串有值时就把el-cascader的placeholder的值设置为这个字段,并且在placeholder有值时,动态添加一个class将el-cascader中placeholder的字体颜色设置为有输入值的颜色(添加的class >>> .el-input__inner::placeholder { color: #606266;})。想了半天,另辟蹊径,最简单暴力的方法... 捂脸 当然这种操作方式对不开放搜索功能的el-cascader比较友好,反正是动态加载的子节点,搜也搜不出来,如果是加了filterable属性的,一获取焦点的时候placeholder值就没了.

孤寂小茶 2022-09-19 03:57:18

我的解决方案是

编辑状态下用一个el-select回显当前的选择项,当然是要初始化数据的值的, 点击变更, 给这个select隐藏, 把cascader显示出来

抚笙 2022-09-19 03:57:18

this.$refs['cascaderRefArea'].inputValue = '编辑时你的值'
这可以解决。随便赋值什么都可以

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文