首页 > 解决方案 > 如何推断正确的类型元素?我有一个材质选择 UI 元素: <Select labelId="demo-simple-select-label" id="demo-simple-select" value={sortType} onChange={handleChange} > <MenuItem value={'release_date'} >发布日期</MenuItem> <MenuItem value={'title'}>Title<

问题描述

标签: typescriptlodash

解决方案


我正在接近我的功能错误(我认为)。sortBy使用分配的属性的值进行排序。我认为它正在使用 type 属性(这是非常错误的)。

所以我创建了一个retunSortType以电影对象为参数的函数。在函数中,它使用一个开关来查找正在使用的排序类型,然后返回正确的类型(标题或发布日期)。

const returnSortType = (movie) => {
  switch (type) {
    case 'release_date':
      return movie.release_date;      
    case 'title':
      return movie.title;
  }
}

localforage.getItem<IMovie []>('trackedMovies').then((value) => {
  let trackedMovies = value;
  trackedMovies = orderBy(trackedMovies, [movie => returnSortType(movie)], ['asc']);
}) 

它有效,它具有可读性,并且可以通过开关添加更多选项,所以我对此感到有点高兴。不过还是觉得有更好的解决方案。


推荐阅读