elementUI中
在element中用<el-cascader标签的lazyLoad
(动态加载)遇到一个问题,就是例如我是“编辑”的,所以打开时就要有一个值,但是这组件我发现,编辑时给他赋了值也不显示,这个有人遇到过没?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web
技术交流群。
在element中用<el-cascader标签的lazyLoad
(动态加载)遇到一个问题,就是例如我是“编辑”的,所以打开时就要有一个值,但是这组件我发现,编辑时给他赋了值也不显示,这个有人遇到过没?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
因为是动态加载,编辑回显也是需要提前把数据加载出来的,赋值之前列表数据已经有了么?
最后怎么解决了呢?我是听过强制重新渲染来解决的
我的解决方案是偷了个懒,让后台同时给了上次选中的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值就没了.
我的解决方案是
编辑状态下用一个el-select回显当前的选择项,当然是要初始化数据的值的, 点击变更, 给这个select隐藏, 把cascader显示出来
this.$refs['cascaderRefArea'].inputValue = '编辑时你的值'
这可以解决。随便赋值什么都可以