AutoComplete组件dataSource 数据如果名字重名怎么拿到id?

新手上路,请多包涵

dataSource 现在的配置是不是只能array< String >的类型?

我现在后台的数据类型是:

[ {key:'1',name:'张三'} , {key:'2',name:'李四'} , {key:'3',name:'张三'} ] 

按目前AutoComplete的dataSource配置内容展示的是:

[ '张三' , '李四' , '张三' ]

那onSelect的时候,我能拿到的只能是:'张三' , '李四' , '张三' 这几个字符串.

问题:
我怎么能拿到name对应的key值?

阅读 2.8k
2 个回答

数据去重,同名的选项在 AutoComplete 的场景下只会给用户带来困扰

看antd autoCompelete源码

dataSource是DataSourceItemType数组:dataSource?: DataSourceItemType[];
而DataSourceItemType的类型包括:string | DataSourceItemObject | React.ReactElement<OptionProps> | React.ReactElement<OptGroupProps>;
其中,DataSourceItemObject这个接口的定义是:
`{

value: string;
text: string;

}`
所以你的dataSource配置内容应该是value-text的对象数组,选择的时候就能得到对应值了,可以用onSelect打印出来看一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题