首页 文章

在SPFX属性窗格中的属性更改时重新调用api

提问于
浏览
-1

这可能是一个非常愚蠢的问题,但这里有 .

我的“属性”窗格中有一个下拉字段,其中填充了当前站点的所有列表 . 这没有问题 .

当我更改下拉列表时,我使用列表的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,因为从技术上讲它已经安装了 .

我想要做的是在更改列表(下拉属性)后让组件重新渲染 . 我目前拥有的将会工作,因为一旦您保存页面,它将呈现所有检索到的项目 . 我只是假设有一种方法可以使它变得动态 .

我的反应经验至少是基本的,所以任何方向都是完美的 .

干杯

Truez

1 回答

  • 0

    在查看React页面循环后想出这个 .

    componentDidUpdate(prevProps, prevState) {
      //If statement checking if your property or state has changed.
      //Re run API call 
    }
    

    干杯

    Truez

相关问题