从桌面反应拉取数据到多选
React Pull Data from Tabletop to Multiselect
正在尝试使用 Tabletop 为 Google 电子表格填充 Multiselect
list
。
从桌面获取数据没有问题,但是当尝试将其发送到 Multiselect
时,e 创建了一个空数组并停止了 handleChange 函数。
我的密码是
import React, { Component } from "react";
import MultiSelect from "@kenshooui/react-multi-select";
import "@kenshooui/react-multi-select/dist/style.css";
import Tabletop from "tabletop";
class Multilist extends Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = {
data: [],
selectedItems: []
};
}
componentDidMount() {
//Getting Data Using Tabletop
Tabletop.init({
key: "1FfaIvaqL_819zzOz3--ghyrdwqMSLiEsS0tR6NVyqcM",
callback: googleData => {
this.setState({
data: googleData
});
console.log("google sheet data --->", googleData);
},
simpleSheet: true
});
}
handleChange(selectedItems) {
this.setState({ selectedItems });
}
render() {
console.log("my data is nome ", this.state.data);
const { selectedItems } = this.state;
return (
<div>
<h1>Hello WOrld</h1>
<MultiSelect
items={this.state.data}
uniqueKey="id"
selectedItems={selectedItems}
onChange={this.handleChange}
/>
</div>
);
}
}
export default Multilist;
我刚刚明白我做错了什么。
我的google数据格式如下
[{name:xpto, age:42}, {name:abc, age:54}]
,当我将 "name" 更改为 "label" 时,它起作用了!! :)
所以我的google数据传播sheet应该是这样的
[{label:xpto, age:42}, {label:abc, age:54}]
所以对我有用的代码是:
render(){
const { selectedItems, data } = this.state;
return (
<div>
<h1>Hello WOrld</h1>
<MultiSelect
items={data}
selectedItems={selectedItems}
onChange={this.handleChange}
/>
);
}
一个问题,如果有人能帮忙,
因为我有来自 google 传播 sheet 的数据,有没有办法进行更改或告诉应用程序我想要标签的列是名称为 "Nome" 的列。
类似
let label = row.Nome
如果有任何意义..
谢谢
正在尝试使用 Tabletop 为 Google 电子表格填充 Multiselect
list
。
从桌面获取数据没有问题,但是当尝试将其发送到 Multiselect
时,e 创建了一个空数组并停止了 handleChange 函数。
我的密码是
import React, { Component } from "react";
import MultiSelect from "@kenshooui/react-multi-select";
import "@kenshooui/react-multi-select/dist/style.css";
import Tabletop from "tabletop";
class Multilist extends Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = {
data: [],
selectedItems: []
};
}
componentDidMount() {
//Getting Data Using Tabletop
Tabletop.init({
key: "1FfaIvaqL_819zzOz3--ghyrdwqMSLiEsS0tR6NVyqcM",
callback: googleData => {
this.setState({
data: googleData
});
console.log("google sheet data --->", googleData);
},
simpleSheet: true
});
}
handleChange(selectedItems) {
this.setState({ selectedItems });
}
render() {
console.log("my data is nome ", this.state.data);
const { selectedItems } = this.state;
return (
<div>
<h1>Hello WOrld</h1>
<MultiSelect
items={this.state.data}
uniqueKey="id"
selectedItems={selectedItems}
onChange={this.handleChange}
/>
</div>
);
}
}
export default Multilist;
我刚刚明白我做错了什么。
我的google数据格式如下
[{name:xpto, age:42}, {name:abc, age:54}]
,当我将 "name" 更改为 "label" 时,它起作用了!! :)
所以我的google数据传播sheet应该是这样的
[{label:xpto, age:42}, {label:abc, age:54}]
所以对我有用的代码是:
render(){
const { selectedItems, data } = this.state;
return (
<div>
<h1>Hello WOrld</h1>
<MultiSelect
items={data}
selectedItems={selectedItems}
onChange={this.handleChange}
/>
);
}
一个问题,如果有人能帮忙, 因为我有来自 google 传播 sheet 的数据,有没有办法进行更改或告诉应用程序我想要标签的列是名称为 "Nome" 的列。
类似
let label = row.Nome
如果有任何意义.. 谢谢