使用labelInValue想获取value和label,能拿到结果了,但是这个警告报错如何解决
<Form.Item name="companyType" label={ initLanguage === 'china' ? language[1].china : language[1].english}><Select labelInValue onChange={(value, option) => selectChange(value, option, 'companyType') } className="w300">{companyData.map((item,index) => { return ( initLanguage === 'china' ? <Option key={index} value={item.key}>{item.value}</Option> : <Option key={index} value={item.key}>{item.englishName}</Option> )})}</Select></Form.Item>
报错:
Warning: value
should in shape of { value: string | number, label?: ReactNode }
when you set labelInValue
to true
求过来人。。。
value={{ value: currentSelectedKey, label: currentSelectedLabel }}
onChange={(valueObj, option) => { // valueObj 把有 value 和 label 属性 const { value, label } = valueObj; selectChange(valueObj, option, 'companyType');}}
这个警告是因为 Select
组件的 onChange
事件处理函数期望的参数形状是 { value: string | number, label?: ReactNode }
,但你可能在处理函数中没有正确地提供这个形状。
在这个特定的例子中,你的 selectChange
函数需要接收一个 { value, option }
对象作为参数。为了解决这个警告,你需要确保 option
对象包含了 label
和 value
属性,即使你不使用 labelInValue
属性。
以下是一个可能的 selectChange
函数的实现,它接收一个 { value, label }
对象,并根据 initLanguage
的值来决定显示哪个文本:
const selectChange = (value, option) => { // 这里做你的处理,例如: console.log(value, option.label);};
如果你不打算使用 labelInValue
属性,你可以简单地忽略这个警告。但是如果你想保留 labelInValue
属性,你就需要确保你的 option
对象有正确的形状。
注意:在antd的最新版本中,labelInValue
属性已被移除。取而代之的是将label作为value的一部分。因此,如果你遇到类似的问题,你可能需要改变你的方法,将label直接放入value中,如下所示:
const selectChange = (value) => { // 这里做你的处理,例如: console.log(value);};<Select onChange={selectChange} className="w300">{companyData.map((item,index) => { return ( initLanguage === 'china' ? <Option key={index} value={`${item.key}-${item.value}`}>{item.value}</Option> : <Option key={index} value={`${item.key}-${item.englishName}`}>{item.englishName}</Option> )})}</Select>
在这个例子中,value是一个字符串,格式为"key-label"
。因此,你可以在selectChange函数中直接使用value。
react中使用antd的组件运行报错Error: Invalid hook call和Uncaught TypeError: Cannot read properties of null (reading 'useContext') 网上搜索该问题,未能解决。希望得到解决方案。
本文向大家介绍vue 解决循环引用组件报错的问题,包括了vue 解决循环引用组件报错的问题的使用技巧和注意事项,需要的朋友参考一下 做项目时遇到使用循环组件,因为模式一样,只有数据不一样。但是按照普通的组件调用格式来做时报错,错误信息为Unknown custom element: <pop> - did you register the component correctly? For recu
本文向大家介绍解决vue 引入子组件报错的问题,包括了解决vue 引入子组件报错的问题的使用技巧和注意事项,需要的朋友参考一下 错误信息: 源码: 原因: vue里面不允许使用 Html已有的标签作为自定义标签 修改方案: 修复结果: ok! 以上这篇解决vue 引入子组件报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
react 在 A 函数设置了state 然后调用 B函数,B函数中使用了state,但直接获取state不是最新值。 使用Effect和通过函数参数传递来解决,感觉都不优雅,大佬们有没有比较好的经验?
onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure t
rollup 打包vue3 + ts 组件库报错 [@vue/compiler-sfc] No fs option provided to compileScript in non-Node environment. File system access is required for resolving imported types. 重新安装依赖,更换rollup-plugin-vue版本。