semantic-ui-react - 如何在 React Semantic UI 中以编程方式清除下拉菜单
问题描述
我在 React 中使用语义 UI,我有两个下拉表单。第一个下拉列表有选项Yes和No,第二个下拉列表有选项A和B。如果第一个表单选择了“是”选项(或者如果它被清除),那么我希望第二个下拉列表被清除和禁用。
目前,我有这样的第二个下拉列表被禁用,但我无法弄清楚如何清除选定的选项(如果有的话)。我不能以禁用下拉列表(通过保存状态变量)的方式执行此操作,因为 Dropdown 具有属性 clearable ,而不是 clear ed。
或者,我可以将第二个下拉菜单设置为仅在禁用时设置的其他第三个选项C(并且不能作为选项访问)?
我在下面放了一个最小可重现示例,该示例演示了禁用,但显然不是清除。
谢谢!
import React, { useState } from 'react';
import { Dropdown, Form} from "semantic-ui-react"
const firstDropdownOptions= [
{
key: 'Yes',
text: 'Yes',
value: 'Yes',
},
{
key: 'No',
text: 'No',
value: 'No',
},
]
const secondDropdownOptions= [
{
key: 'A',
text: 'A',
value: 'A',
},
{
key: 'B',
text: 'B',
value: 'B',
},
]
export const InputForm = () => {
const [firstVal, setFirstVal] = useState('')
const [secondVal, setSecondVal] = useState('')
const [condition, setCondition] = useState(false)
return (
<Form>
<Dropdown
placeholder='First Value'
selection
clearable
options={firstDropdownOptions}
onChange={(_, data) => {setFirstVal(data.value)};
if(data.value=="No"){setCondition(true)}
else{setCondition(false)};
}
/>
<Dropdown
placeholder='Second Value'
selection
clearable
disabled={condition}
options={secondDropdownOptions}
onChange={(_, data) => setSecondVal(data.value)}
/>
</Form>
)}
解决方案
Dropdown
应该有value
道具。但是在第二个中清除现有值时Dropdown
,请确保遵循以下说明:https ://github.com/Semantic-Org/Semantic-UI-React/issues/3625#issuecomment-654199235
推荐阅读
- ios - 如何修复 Xcode 中的未定义符号错误?
- scala - 两种读取 hdfs 序列文件的方法,但一种失败并出现 EOFException
- javascript - 将图像文件保存到 firebase / 将图像文件数据保存到纯 javascript 对象中
- wordpress - Elementor 中的 ACF 组内容?
- python - 将金额 (int) 转换为 BCD
- tsql - DAX 表达式从表中隔离 2 列并根据另一列过滤结果表
- ios - Firebase 远程配置何时在 iOS 上加载以接收 A/B 测试变体
- javascript - javascript的窗口宽度条件
- arcgis - 是否可以更改 ArcGIS API 中弹出模板中显示的折叠表?
- python - 如何绘制离散线而不是条形?