这可能是一个非常愚蠢的问题,但现在可以了。
我的“属性”窗格中有一个下拉字段,其中填充了当前网站的所有列表。这没问题。
当我更改下拉列表时,我使用列表的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
答案 0 :(得分:0)
在查看React页面循环后想出这个。
componentDidUpdate(prevProps, prevState) {
//If statement checking if your property or state has changed.
//Re run API call
}
干杯
Truez