Office UI Fabric-PeoplePicker:无法使createGenericItem工作

时间:2019-01-25 12:06:33

标签: office-ui-fabric

也许这只是我的误解,但我认为PeoplePicker(https://developer.microsoft.com/en-us/fabric#/components/peoplepicker)中createGenericItem的回调用于处理输入,无法与任何可用项匹配,然后可以为此创建临时项目。但是,无论我尝试什么,都永远不会调用回调。

我在这里简单地写下了这个问题:https://codepen.io/anon/pen/daGPWe?editors=0010

在示例中,有两个项目,彼得和玛丽亚。如果您键入不同的内容(并按Enter,Tab,空格等),我希望会调用createGenericItem回调,但不会。

我在做什么错?还是对回调的目的有误解?我在任何地方都找不到示例。

1 个答案:

答案 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进行了演示,一旦单击tabenter键并且无法将值解析为任何可用项目,就会显示Unknown person项目