继续爆肝继续干 2022-09-12 22:53 采纳率: 33.3%
浏览 55
已结题

TS报错:对象未定义

问题遇到的现象和发生背景

最近公司上的一个融合了TS的项目

问题相关代码,请勿粘贴截图
let treeData: TreeProps['treeData'] = [
   {
        title: 'Setup',
        key: '0-0',
        children: [
          {
            title: 'Display and brightness',
            key: '0-0-0',
            children: [
              { title: 'Rest screen style', key: '0-0-0-0' },
              {
                key: '0-0-0-1',
              },
              { title: 'Auto lock', key: '0-0-0-2' },
            ],
          },
          {
            title: 'Portable tools',
            key: '0-0-1',
            children: [{ title: 'gesture', key: '0-0-1-0' }],
          },
          {
            title: 'System settings',
            key: '0-0-2',
            children: [
              { title: 'Reset system', key: '0-0-2-0' },
              {
                title: 'Background refresh',
                key: '0-0-2-1',
              },
            ],
          },
        ],
  },
       {
        title: 'test',
        key: '0-1',
        children: [
          {
            title: 'Audio and video test',
            key: '0-1-0',
            children: [
              { title: 'Function panel', key: '0-1-0-0' },
              { title: 'Collect sound', key: '0-1-0-1' },
            ],
          },
        ],
      },
];
const onSelect: TreeProps['onSelect'] = (selectedKeys: any, info: any) => {
      console.log('selected', selectedKeys, info);
};

// 查询树节点的方法
const expandedKeys = ref<(string | number)[]>([]);
 const autoExpandParent = ref<boolean>(true);
const searchValues = ref<string>('');
watch(searchValues, value => {      
      if(value.length != 0){
      const expanded = treeData.map(item => {
        if(item.title.includes(value)){
          //console.log(item.key)
          return item.key;
        }
        
        return null;
      }).filter((item,i,self) => item && self.indexOf(item) === i);

      console.log('tree',expanded);
      console.log('datalist',treeData)
      console.log(value);

      expandedKeys.value= expanded as any;
      searchValues.value = value;
      autoExpandParent.value = true;
      }else{
        //折叠起来
        autoExpandParent.value =  false;
      }
     
    })

运行结果及报错内容

使用map遍历treeData是报错,显示对象未定义,请各位指教

  • 写回答

1条回答 默认 最新

  • 一只成序源 2022-09-13 09:44
    关注

    value没给类型,expanded没给类型,map遍历的item没给类型。你这个TS结合js两种写法,写TS就严格按照TS的写法来

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月26日
  • 创建了问题 9月12日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!