tusen-ai / naive-ui

A Vue 3 Component Library. Fairly Complete. Theme Customizable. Uses TypeScript. Fast.

Home Page:https://www.naiveui.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

让所有可指定keyField和labelField的组件可以传入多层路径

liuhaozhi opened this issue · comments

问题的清晰而简明的描述

目前指定keyField和labelField只能传入一个字符串,如果是多层对象就无法获取正确的数据。在实际工作中可能经常会遇到多层路径的数据,就像vue的watch可以监听多层属性一样。

建议的解决方案

当我们使用传入的参数时,可以使用getValue替换掉node[prop.keyField/labelField]

function getValue(obj, path) {
const keys = path.split('.');
let value = obj;
for (const key of keys) {
value = value[key];
if (value === undefined) {
return undefined;
}
}
return value;
}或类似的方案

备选方案

No response

附加上下文

No response

验证

  • 阅读 贡献指南
  • 阅读 文档
  • 检查是否已经存在请求相同功能的问题,以避免创建重复的问题。