首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SelectInput react admin可过滤选项中的重复值并仅显示唯一值

SelectInput是React Admin框架中的一个组件,用于创建一个下拉选择框。它可以通过设置属性来实现过滤选项中的重复值并仅显示唯一值。

在React Admin中,SelectInput组件的主要属性包括:

  1. choices:用于设置下拉选项的数据源,可以是一个数组或一个函数。如果是数组,每个元素都是一个包含"value"和"label"属性的对象,分别表示选项的值和显示文本。如果是函数,该函数会返回一个包含"value"和"label"属性的对象数组。
  2. optionText:用于设置选项显示文本的字段名。默认为"label"。
  3. optionValue:用于设置选项值的字段名。默认为"value"。
  4. filter:一个函数,用于自定义过滤选项的逻辑。该函数接收两个参数:选项的值和选项的索引。返回true表示保留该选项,返回false表示过滤掉该选项。
  5. choicesCache:一个布尔值,用于指定是否缓存选项。默认为true,表示缓存选项以提高性能。

使用SelectInput组件可以实现过滤选项中的重复值并仅显示唯一值的方法如下:

  1. 创建一个自定义的SelectInput组件,继承自React Admin的SelectInput组件。
  2. 在自定义组件中,重写filter函数,实现过滤选项的逻辑。可以使用JavaScript的Set对象来去除重复值。
  3. 在使用SelectInput组件的地方,使用自定义的SelectInput组件替代原始的SelectInput组件。

以下是一个示例代码:

代码语言:txt
复制
import React from 'react';
import { SelectInput } from 'react-admin';

const UniqueSelectInput = (props) => {
  const { choices, ...rest } = props;

  const uniqueChoices = Array.from(new Set(choices.map(choice => choice.value)))
    .map(value => choices.find(choice => choice.value === value));

  return <SelectInput choices={uniqueChoices} {...rest} />;
};

export default UniqueSelectInput;

在上述示例中,我们创建了一个名为UniqueSelectInput的自定义组件,它继承自React Admin的SelectInput组件。在filter函数中,我们使用Set对象来去除重复值,并将结果转换为数组。最后,我们将去重后的选项传递给原始的SelectInput组件。

使用UniqueSelectInput组件的示例代码如下:

代码语言:txt
复制
import React from 'react';
import { Edit, SimpleForm, TextInput } from 'react-admin';
import UniqueSelectInput from './UniqueSelectInput';

const PostEdit = (props) => (
  <Edit {...props}>
    <SimpleForm>
      <TextInput source="title" />
      <UniqueSelectInput source="category" choices={[
        { value: '1', label: 'Category 1' },
        { value: '2', label: 'Category 2' },
        { value: '3', label: 'Category 3' },
        { value: '1', label: 'Category 1 Duplicate' },
      ]} />
    </SimpleForm>
  </Edit>
);

export default PostEdit;

在上述示例中,我们在编辑表单中使用了UniqueSelectInput组件,并传递了一个包含重复值的选项数组。由于UniqueSelectInput组件的过滤逻辑,重复值会被过滤掉,只显示唯一值。

腾讯云相关产品中,与React Admin框架和SelectInput组件相关的产品和文档链接如下:

  1. 腾讯云云服务器(CVM):提供云上虚拟服务器,用于部署和运行React Admin应用。产品介绍链接:腾讯云云服务器
  2. 腾讯云数据库MySQL版:提供可扩展的MySQL数据库服务,用于存储React Admin应用的数据。产品介绍链接:腾讯云数据库MySQL版
  3. 腾讯云CDN加速:提供全球分布式的内容分发网络,加速React Admin应用的静态资源加载。产品介绍链接:腾讯云CDN加速
  4. 腾讯云人工智能平台(AI Lab):提供丰富的人工智能服务和开发工具,用于在React Admin应用中集成人工智能功能。产品介绍链接:腾讯云人工智能平台
  5. 腾讯云物联网平台(IoT Hub):提供可靠的物联网连接和管理服务,用于连接和控制React Admin应用中的物联网设备。产品介绍链接:腾讯云物联网平台
  6. 腾讯云移动推送(Xinge Push):提供高效可靠的移动推送服务,用于向React Admin应用的移动端用户发送推送通知。产品介绍链接:腾讯云移动推送
  7. 腾讯云对象存储(COS):提供安全可靠的云端对象存储服务,用于存储React Admin应用的文件和多媒体资源。产品介绍链接:腾讯云对象存储
  8. 腾讯云区块链服务(Tencent Blockchain):提供高性能的区块链服务,用于构建可信的区块链应用。产品介绍链接:腾讯云区块链服务

以上是关于SelectInput react admin可过滤选项中的重复值并仅显示唯一值的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TDesign 更新周报(2022 年 3 月第 4 周)

/tag/0.38.0 Vue2 for Web 发布 0.38.1 版 Bug Fixes SelectInput: 实现 enter 事件 Features SelectInput: 修复单选输入状态下...层 Bug Fixes Dialog: 修复 dialog 组件点击警告 Steps: 修复 readonly 状态下依然可以点击 Cascader: 修复动态改 options 为空数组不生效, 可过滤状态下下拉面板拉起闪烁...,可过滤状态下输入内容未被正常销毁 TimePicker: 修复此刻快捷标签文案配置, focused 态样式修复 Upload: 修复 method props 失效 SelectInput: 修复在非输入状态下无...Fixes Loading: 修复 loading 默认为 true 但不显示问题 Stepper: 修复图标偏移问题 Search: 修复 action-click 事件不生效问题 Textarea...: 修复 Form 无法获取值问题 Feature 增加点击态 Grid Tabbar Upload: 使用 t-image 封装,支持 image-props 用于属性透传 详情见:https:/

90430

TDesign 更新周报(2022年4月第1周)

,月份/年份选择面板样式异常问题 修复 Table/SelectInput/TagInput 按需引入时出现 composition-api 相关报错问题 Features Table: 支持外部设置当前显示列...tag/0.40.0 Vue2 for Web 发布 0.39.1 版 Bug Fixes Upload: 修复 success 事件先于 progress 事件触发时,上传文件 loadingFile 不正确问题...修复最大数量限制 max 在多次文件选择判断不正确问题 Pagination: 修复跳转页输入框展示了额外 placeholder 默认内容问题 TreeSelect: 修复 treeProps...同时传入 key、load 时选中项显示问题 修正 TreeSelect 交互行为,与 Select 保持一致 修复 filter 状态下,树无法折叠问题;修复 lazy 状态下,无法正确展示...,无法进行正确列配置问题,列配置显示了第一层表头 verticalAlign 不生效问题 右上角出现文字穿透问题 固定表头和固定列,全部使用 CSS sticky 输出样式,组件渲染一个表格,表头和表内容

2.4K20

TDesign 更新周报(2022年6月第3周)

0.42.1FeaturesForm:实例方法 reset 支持重置指定字段,新增参数 { type:'initial' | 'empty', fields:number[] }实例方法 validate 支持校验而不显示每个组件错误信息文本... 重构组件 , 使用 CompositionAPI 重构组件逻辑, 增加相关 API,存在不兼容更新DatePicker:重构 DatePicker 为 compositionAPI,全新UI样式及交互...Select:修复透传 inputProps 参数无效switch:修复 slots.label 参数无效TreeSelect:优化过滤状态下输入框交互,修复 selectInput 参数透传数据响应问题...CheckBox:修复二次封装多选框组件插槽定义选项失效Upload:修复图片列表模式存在图片列表情况下,拖拽图片会触发浏览器默认打开图片行为Slider:修复 slider 数字输入框初始化重复渲染问题...发布 0.13.2FeaturesDropdownMenu: 单选情况下,选择之后直接关闭Bug FixesDialog: 修复取消按钮传递 Object 显示不正确问题Checkbox: 修复外部样式类无法使用问题详情见

3K10

TDesign 更新周报(2022年7月第2周)

CheckBox: 增加 title 属性透传DatePicker: 新增 panelPreselection api优化面板月份展示Drawer: 优化抽屉拖拽体验 Bug FixesSpace: 过滤无效节点...Cascader: 修复多选时,文本过长未处理问题修复选中内容过多时,再点击选择器后闪动问题SelectInput: 修复 overlayStyle 响应式无法更新问题TagInput: 修复 inputProps...: 优化允许输入滚动使用体验TimeRangePicker 修复允许输入缺陷Select: 修复远程搜索动态生成选项失败缺陷虚拟滚动支持远程搜索场景Dialog: 修复阻止冒泡导致 popup 无法正常关闭...没有实现间隔效果DatePicker: 修复日期格式化问题TimePicker: 优化输入模式使用体验 避免高频输入场景与滚动事件重复更新 value 异常Tree: 取消修改 value 类型...destroyOnClose 之后,没了动画效果TreeSelect: 修复异步加载回显展示问题Textarea: 修复无法传入 attrs style详情见:https://github.com

2.2K10

TDesign 更新周报(2022年9月第1周)

组件库Vue2 for Web 发布 0.46.4 FeaturesPopup: 新增 delay 属性用于控制延时显示或隐藏浮层,修复子 Popup 销毁时父级意外关闭问题 @ikeq (#1436...filter 能力 @skytt (#1427)修复过滤掉数据后上下键仍可以选择过滤数据问题 @sechi747 (#1434)Button: 区分 loading 和 disabled 状态,修复幽灵按钮...(vue-next #1570)修复在输入时 entry 键会默认全选第一个选项全部内容 (vue-next #1529)修复通过 SelectInputProps 透传方法属性导致传入 SelectInput... 数据变成数组 (vue-next #1502)修复 ellipsisTitle 配置优先级低于 ellipsis 问题 @Tomaolala (#1408)SelectInput: 修复多选清除无效导致...(vue-next #1529) @pengYYYYY (#1428)修复通过 SelectInputProps 透传方法属性导致传入 SelectInput 数据变成数组 (vue-next #1502

2.6K20

TDesign 更新周报(2022年8月第1周)

使用 esm 包修改 less token 业务需要注意,组件库各组件实现圆角也做了统一调整,详情参见 #158 ,存在不兼容更新。...,表尾显示不同步问题列拖动后,选择行导致拖动后距离被重置Datepicker: 修复单独配置 clearable 失效问题TreeSelect: 修复输入项过长时,操作区域图标被遮挡问题Cascader...使用 esm 包修改 less token 业务需要注意,组件库各组件实现圆角也做了统一调整,详情参见 #158 ,存在不兼容更新 FeaturesSelectInput:SelectInput及相关...,参数校验导致用户行为异常Select: 修复回删空字符串不触发 onSearch 缺陷Select: 修复过滤时输入为空未显示全部选项问题Dropdown: 修复 className 继承问题Tree...发布 0.10.1 Bug Fixessearch: 修复失去焦点后输入内容被隐藏和清除按钮无法使用问题Tabs: 修复传入相同时仍触发 onChange 问题Popup: 修复使用 overlay

3.5K10

TDesign 更新周报(2022年6月第4周)

firstFullRow不渲染问题修复paginationAffixedBottom 透传Affix 参数不生效修复 0.41.7 版本后过滤功能构建后异常问题修复 0.41.7 版本后过滤功能构建后异常问题...初值为 undefined 时, 组件初始化为非受控问题修复多选下换行提取占满一行问题SelectInput: 修复展开下拉时失去焦点不高亮问题TagInput: 修复中文输入按下 Enter...: 修复通过过快捷方式设置时间区间高亮数据异常DatePicker: 修复栅格情况下组件宽度 超过父级容器限制 组件显示不完整Dialog: 修复 dialog 蒙层点击事件失效Select: 修复使用...Table: 支持动态数据合并单元格Table: 吸顶表头和自定义显示列场景,支持列拖拽调整顺序Table: 修复 firstFullRow 存在时,拖拽排序顺序不正确问题Table: 修复加载更多加载组件尺寸异常问题...发布 0.3.5Features调整类型相关问题项目结构改造请求封装相关代码Bug Fixes修复首页TAB关闭其他时异常修复升级 0.16 版本后自定义设置中选项样式异常详情见:https:/

1.2K20

TDesign 更新周报(2022年8月第5周)

Notification: 鼠标移入时不会关闭通知Cascader: CascaderPanel 点击选项时派发 click 事件Table: 文本超出提示由 Popup 更为 Tooltip,以便于定制各种提示文本主题色...: 兼容因 v-model 初始为 undefined 导致 useModel 失效问题Table:修复 editableCellState 表现与预期相反问题修复多级表头下不支持调整列宽问题Select...clearIcon无法删除修复在输入时 entry 键会默认全选第一个选项全部内容修复通过 SelectInputProps 透传方法属性导致传入 SelectInput 数据变成数组RangeInput...: 修正RangeInput右侧图标没有居中对齐问题DatePicker: 修复了 TExtraContent 组件 selectedValue Props 定义不正确问题Dialog: 非模态对话框优化拖拽事件鼠标表现...设置问题Slider: 修复点击 marks 触发 cannot read properties of null 异常Upload: 支持受控使用时files可设置为nullPopup: 修复 popup 显示状态点击页面事件重复触发问题

1.1K20

最好用 5 个 React select 多选下拉菜单组件测评推荐

如果你正在搭建后台管理工具,又不想处理前端问题,推荐使用卡拉云,卡拉云是新一代低代码开发工具,一键接入常见数据库及 API ,无需懂前端,需拖拽即可快速搭建属于你自己后台管理工具,一周工作量缩减至一天...虽然 UI 简单,但整体轻盈,功能有十分丰富,默认显示复选框,能够对多选项进行分组,支持在一行显示多个选项,按组全选。...、键盘快捷键、UI 漂亮 [3react-select-search] react-select-search 是一款主打搜索 React 下拉菜单选择器,轻量级、零依赖,有非常强大搜索过滤功能,异步选项...轻量级,零依赖 基本 HTML 选择功能,可多选 搜索 / 过滤功能 支持键盘快捷键 可设置带有组名选项,可以搜索组名 代码简洁,CSS 样式定制 扩展阅读:《7款亲测好用 react ui...扩展阅读:《6款适合国内场景 React admin 后台管理框架测评》 5.Multiselect React Dropdown - 多选搜索、固定选项、分组选项、默认必选 [5multiselect-react-dropdown

7K30

IntelliJ IDEA 2022.2.2汉化版免登陆账号「winmac」

只需启用“ 首选项/设置” 显示文档弹出窗口...”选项 编辑| 一般| 代码完成。以前,可以将文档弹出窗口配置为显式调用完成时显示。...- “提取方法”新预览面板IntelliJ IDEA为Extract Method重构引入了一个新预览面板。在确认更改之前,它可以让您了解重构结果。当您重复使用重复代码片段时,这非常有用。...- 新@Contract注释返回IntelliJ IDEA支持@Contract注释,它允许您在传递特定参数时指定方法反应。合同信息可用于各种检查和操作,使用它来产生更好警告消除误报。...转到首选项| 外观与行为| 外观选择使用深色窗口标题。- 新图标我们推出了一些全新图标!IDE工具栏和工具窗口上新更清晰,更简单图标减少视觉混乱确保更好可读性。...此外,您可以根据需要打开任意数量日志选项卡。- Branch过滤器中最喜欢分支我们已将“收藏”分支添加到“ 日志”选项“ 分支”过滤器,因此您现在可以快速过滤您喜欢分支提交。

4.7K30

熬夜整理vue面试题,面试加油

作为扩展,还可以说说vue3新引入composition api带来变化回答范例:常见组件扩展方法有:mixins,slots,extends等混入mixins是分发 Vue 组件复用功能非常灵活方式...>来自父组件内容如果要精确分发到不同位置可以使用具名插槽,如果要使用子组件数据可以使用作用域插槽组件选项还有一个不太常用选项extends,也可以起到扩展组件目的/.../ 扩展对象const myextends = { methods: { dosomething(){} }}// 组件扩展:做数组项设置到extends选项作用于当前组件// 跟混入不同是它只能扩展单个对象...组件化思想1.我们在各个页面开发时候,会产生很多重复功能,比如elementxxxx。...改变 store 状态唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态变化。

1.9K40

TDesign 更新周报(2022年9月第3周)

(#1510) FeaturesTable: 新增 column.resizable 支持自定义任意列是否拖拽调整宽度 @ZTao-z (#1523)Message: Message 新增 onClose...Table: 可编辑单元格,添加 row/rowIndex/col/colIndex 到 onEdited @chaishi (#1695)ImageViewer: 支持 title 与 trigger ...:修复select-input使用valueDisplay渲染自定义tag筛选项展示居中错误 @AqingCyan (#1503)修复 SelectInput 自适应换行问题 @HQ-Lin (#1500... @LeeJim (#868) Bug FixesToast: 重构 DOM 以及代码逻辑 @LeeJim (#863)ActionSheet: 修复 theme = list 时点击选项之后报错问题... max 问题 @anlyyao (#304)Stepper: 修复 value 小于 min 或超出 max 时,不触发 overlimit 问题 @anlyyao (#304)Collapse

65210

TDesign 更新周报(2022年12月第1周)

: 修复 closeOnOverlayClick 存在默认导致全局配置失效问题 @chaishi (#1844)修复 drawer 动画失效问题 @honkinglin (#1858)Table:...@chaishi (#1849) 修复本地数据分页场景,切换分页大小,onPageChange 事件参数返回数据不正确问题序号列支持跨分页显示 tdesign-vue-next#2072修复分页场景下...: 修复本地数据分页场景,切换分页大小,onPageChange 事件参数返回数据不正确问题 @chaishi (#2074)序号列支持跨分页显示(issue#2072) @chaishi (#2074...选中当前页数据,切换分页时清空选中结果,全选选中当前页数据 @chaishi (#1755)Drawer: 默认不显示关闭按钮,有取消和确认按钮足矣,同其他框架保持一致 @chaishi (#1746...: 减少表格重渲染 #1688 @jsonz1993 (#1704)修复本地数据分页场景,切换分页大小,onPageChange 事件参数返回数据不正确问题 @chaishi (#1755)序号列支持跨分页显示

2.1K30

vue高频面试题(附答案)

mixins 接收一个混入对象数组,其中混入对象可以像正常实例对象一样包含实例选项,这些选项会被合并到最终选项。Mixin 钩子按照传入顺序依次调用,并在调用组件自身钩子之前被调用。...比如后端返回一个 年月日日期字符串,前端需要展示为 多少天前 数据格式,此时就可以用fliters过滤器来处理数据。过滤器是一个函数,它会把表达式始终当作函数第一个参数。...过滤器用在插表达式 {{ }} 和 v-bind 表达式 ,然后放在操作符“ | ”后面进行指示。...在这里可以进行一次性初始化设置。2. inserted:被绑定元素插入父节点时调用 (保证父节点存在,但不一定已被插入文档)。...在这里可以进行一次性初始化设置。 o inSerted:被绑定元素插入父节点时调用(保证父节点存在,但不一定已被插入文档)。

77460

TDesign 更新周报(2022年9月第4周)

为 number 无法高亮过滤图标问题 @chaishi (#1740)行选中功能,数据变化时,选中数据依旧是变化前数据,#1722 @chaishi (#1740)不提供expandedRowKeys... @chaishi (#1524)修复文件上传进度显示 0% 和 100%,缺少中间进度 问题 @chaishi (#1524)Input:修复input autoWidth 配置开启下,计算宽度时取... @uyarn (#1511)Dropdown: 修复点击选项没有触发onVisibleChange问题 @uyarn (#1516)Tree: 支持树拖拽 @HelKyle (#1534)Select...: 修复Select组件多选情况下禁用组件后还能点击删除选项问题 @AqingCyan (#1529)TagInput: 修复 react 16 版本 event 对象缺失 code 属性判断错误 @...情况下,输入超出 maxcharacter 问题 @anlyyao (#883)DateTimePicker: 修复选项重置错误问题 @LeeJim (#888)详情见:https://github.com

1.2K10

Spring Boot 2.X(十七):应用监控之 Spring Boot Admin 使用及配置

//127.0.0.1:9000 测试 启动项目,通过浏览器访问 http://127.0.0.1:9000,我们会看到 Spring Boot Admin 管理界面 applications 会显示相应客户端应用...,这些数据会在输出json数据过滤掉) “.password$”, “.secret$”, “.key$”, “....如果省略了主机/端口,将从请求推断出来 spring.boot.admin.ui.brand 导航栏显示品牌 <img src="assets/img/icon-spring-boot-<em>admin</em>.svg...如果<em>可</em>访问URL不同(例如Docker),则可以覆盖。在注册表<em>中</em>必须<em>唯一</em> 默认该属性<em>值</em>与management-url 以及endpoints.health.id有关。...该路径是在运行时推断<em>的</em>,<em>并</em>附加到基本URL 默认该属性<em>值</em>与management.port, service-url 以及server.servlet-path有关,如工程<em>中</em>该<em>值</em>为http://127.0.0.1

2.3K20

使用管理门户SQL接口(二)

请注意,筛选器设置是用户自定义保留以供该用户将来使用。 Browse选项卡 Browse选项卡提供了一种方便方式,可以快速查看名称空间中所有模式,或者名称空间中经过过滤模式子集。...该选项还为打开表时要加载行数提供了一个修改。 这将设置打开表显示最大行数。 可用范围从1到10,000; 默认为100。...主键是定义,唯一;它列出一次。此选项列出约束名称约束;使用显示组件字段逗号分隔列表约束数据列出了一次涉及多个字段约束。约束类型可以是唯一主键,隐式主键,外键或隐式外键。...使用“编辑视图”链接保存更改时,此时间戳更新。 定义为只读,视图是可更新布尔:如果读取视图定义,则它们分别设置为1和0。...1.0000%百分比值更大,指示当前数据该列重复相对数量。通过使用这些选择性,可以确定要定义索引以及如何使用这些索引来优化性能。

5.1K10

今年前端面试太难了,记录一下自己面试题

一般可以用哪些作为key最好使用每一条数据唯一标识作为key,比如:手机号,id,身份证号,学号等也可以用数据索引(可能会出现一些问题)前端react面试题详细解答为什么 useState...React-Router如何获取URL参数和历史对象?(1)获取URL参数get传路由配置还是普通配置,如:'admin',传参方式如:'admin?id='1111''。...相同点: 组件是 React 复用最小代码片段,它们会返回要在页面渲染 React 元素。...Reactprops.children和React.Children区别在React,当涉及组件嵌套,在父组件中使用props.children把所有子组件显示出来。...在较大应用追踪性能回归可能会很方便(3)React16.13.0支持在渲染期间调用setState,但适用于同一组件检测冲突样式规则记录警告废弃 unstable_createPortal,

3.7K30
领券