也许这只是我的误解,但我认为PeoplePicker(https://developer.microsoft.com/en-us/fabric#/components/peoplepicker)中createGenericItem
的回调用于处理输入,无法与任何可用项匹配,然后可以为此创建临时项目。但是,无论我尝试什么,都永远不会调用回调。
我在这里简单地写下了这个问题:https://codepen.io/anon/pen/daGPWe?editors=0010
在示例中,有两个项目,彼得和玛丽亚。如果您键入不同的内容(并按Enter,Tab,空格等),我希望会调用createGenericItem
回调,但不会。
我在做什么错?还是对回调的目的有误解?我在任何地方都找不到示例。
答案 0 :(得分:2)
关于
但是我认为PeoplePicker中的createGenericItem的回调 (https://developer.microsoft.com/en-us/fabric#/components/peoplepicker) 用于处理输入
是正确的。为了触发 IBasePickerProps.createGenericItem
函数,需要为IBasePickerProps.onValidateInput
提供ValidationState.valid
函数作为返回值,例如:
<NormalPeoplePicker
createGenericItem={this.createGenericItem}
onValidateInput={this.handleValidateInput}
selectedItems={this.state.selectedItems}
onResolveSuggestions={this.handleResolveSuggestions}
onChange={this.handleChange}
/>
private handleValidateInput(input: string) {
return ValidationState.valid;
}
private createGenericItem(input: string, validationState: ValidationState) {
return { text: "Unknown person", state: validationState };
}
This demo进行了演示,一旦单击tab
或enter
键并且无法将值解析为任何可用项目,就会显示Unknown person
项目