【发布时间】:2019-09-27 15:15:06
【问题描述】:
我终于可以使用人员选择器来更新 SharePoint 列表了。
如何扩展它以使用标签、按钮和输入框等表单元素?
我看到了这段代码,但它在this.props.data.Name 下划线并带有一条消息:
属性
data在“只读”类型上不存在。
它还强调onChange 说它不存在于只读类型。
private _onChange = (e: React.KeyboardEvent) => {
const name = this.props.data.Name;
const value = (e.target as HTMLInputElement).value;
this.props.onChange(name, value);
}
这是我的类的开始,包括构造函数。我担心如果我向界面添加更多属性,我可能会停止人员选择器的工作。
export default class PnPPeoplePicker extends React.Component<IPnPPeoplePickerProps, IPnPPeoplePickerState> {
constructor(props: IPnPPeoplePickerProps, state: IPnPPeoplePickerState)
{
super(props);
this.state = {
addUsers: []
};
}
【问题讨论】:
-
你的
IPnPPeoplePickerState接口中有data属性吗? -
没有。数据属性应该在这个接口中还是在新接口中?应该是什么类型的?
-
在您的代码中,您使用的是
this.props.data.Name。this.props里面有 data 属性吗?如果没有,则需要将其添加到IPnPPeoplePickerProps界面中才能使用它。您是否从其他地方复制了此代码? -
我在界面中添加了数据并修改了构造函数如下: constructor(props: IPnPPeoplePickerProps, state: IPnPPeoplePickerState) { super(props); this.state = { addUsers: [], data: }; }
标签: reactjs sharepoint-online spfx