当 SPFX 属性 窗格中的 属性 更改时重新调用 api
Re call api when property in SPFX property pane is changed
这可能是一个非常愚蠢的问题,但这里是。
我的 属性 窗格中有一个下拉字段,其中填充了当前站点的所有列表。这没问题。
当我更改下拉列表时,我用列表的 ID 填充 属性。在我的反应组件中,我调用下面的
public componentDidMount(){
var url = this.props.webUrl + "/_api/web/lists(guid'"+ this.props.listId+"')/items";
console.log("LIST API = " + url);
var getListInfo: FetchListData = new FetchListData();
getListInfo.getItems(url, this.props.client).then((data) => {
this.setState({ navItems: data });
})
}`
我的假设是,当 Web 部件最初加载时,组件呈现在页面上,但如果我更新 属性 它不会调用此 componentDidMount,因为从技术上讲它已经安装。
我想做的是让组件在我更改列表(下拉列表 属性)后重新呈现。我目前拥有的将起作用,因为一旦您保存页面,它将呈现所有检索到的项目。我只是假设有一种方法可以让它变得动态。
我对 React 的经验至少可以说是基本的,所以任何方向都是完美的。
干杯
特鲁兹
在查看 React 页面循环后想出了这个。
componentDidUpdate(prevProps, prevState) {
//If statement checking if your property or state has changed.
//Re run API call
}
干杯
特鲁兹
这可能是一个非常愚蠢的问题,但这里是。
我的 属性 窗格中有一个下拉字段,其中填充了当前站点的所有列表。这没问题。
当我更改下拉列表时,我用列表的 ID 填充 属性。在我的反应组件中,我调用下面的
public componentDidMount(){
var url = this.props.webUrl + "/_api/web/lists(guid'"+ this.props.listId+"')/items";
console.log("LIST API = " + url);
var getListInfo: FetchListData = new FetchListData();
getListInfo.getItems(url, this.props.client).then((data) => {
this.setState({ navItems: data });
})
}`
我的假设是,当 Web 部件最初加载时,组件呈现在页面上,但如果我更新 属性 它不会调用此 componentDidMount,因为从技术上讲它已经安装。
我想做的是让组件在我更改列表(下拉列表 属性)后重新呈现。我目前拥有的将起作用,因为一旦您保存页面,它将呈现所有检索到的项目。我只是假设有一种方法可以让它变得动态。
我对 React 的经验至少可以说是基本的,所以任何方向都是完美的。
干杯
特鲁兹
在查看 React 页面循环后想出了这个。
componentDidUpdate(prevProps, prevState) {
//If statement checking if your property or state has changed.
//Re run API call
}
干杯
特鲁兹