Kendo DataSource 读取 Async/await 使用 Axios 获取数据的方法

Kendo DataSource reading from Async/await method which uses Axios to fetch data

ReactTypeScript

结合使用

请有人提供一个示例,说明我如何使用 Kendo 数据源从内部使用 Axios 为 JSON 生成外部 API 的方法中读取数据数据..?我一定已经浏览了 20 种不同版本的代码,尝试了不同的方法,似乎没有什么适合的...

我目前要做的就是提供一个 Kendo ComboBox,其中包含一个数组 {id: number, name: string}

目前是非常基本的东西,但我稍后必须使用类似的方法来处理服务器端排序和分页的 Kendo 网格,所以我想现在就开始工作那么以后应该会容易一些...

我想使用 Axios 的原因是因为我写了一个 api.ts 文件,在 gets 和 posts 等上附加了适当的 headers 并且还很好地处理了错误(即当 auth被拒绝等等...)

我正在尝试但不起作用的基本示例是:-

public dataSource: any;

constructor(props: {}) {
super(props);

this.dataSource = new kendo.data.DataSource({
  type: "odata",
  transport: {
    read: function() {
      return [{ id: 1, name: "Blah" }, { id: 2, name: "Thing" }];
    }.bind(this)
  },
  schema: {
    model: {
      fields: {
        id: { type: "number" },
        name: { type: "string" }
      }
    }
  }
});
}

<ComboBox
   name="test"
   dataSource={this.dataSource}
   placeholder={this.placeholder}
   dataValueField="id"
   dataTextField="name"
/>

有人对此有任何想法吗? :)

最终轻松修复...

this.dataSource = new kendo.data.DataSource({
  transport: {
    read: function(options: any) {
      options.success([{ id: 1, name: "Blah" }, { id: 2, name: "Thing" }]);
    }.bind(this)
  },
  schema: {
    model: {
      fields: {
        id: { type: "number" },
        name: { type: "string" }
      }
    }
  }
});

2 处错误..

删除了 类型:"odata"、 和 在

中添加了options的用法

现在使用异步等待功能一切正常,只需将 data 传递到 options.success.then 承诺。工作完成:-)