javascript - 通过Javascript逻辑在ant标签中启用多选选项
问题描述
我在我的项目中使用 Ant-design,所以我需要在我的表单中添加标签以供用户选择它,直到现在我添加的标签只允许选择一个选项并将其显示给用户,但现在我想移动多选功能。
以下是单选功能的代码。
父组件
import CheckableAntTag from "../../../../../../components/Tags";
export default function FormSection() {
const mortgageData = [
"Porque me foi recomendado",
"Quero comparar com o seguro que tenho atualmente",
"Para estar protegido(a) caso algo aconteça",
"O meu seguro vai renovar-se em breve",
];
const formik = useFormik({
enableReinitialize: true,
initialValues: {
insuranceMotive: null,
},
onSubmit: (values) => {
console.log(values);
},
validationSchema: validationSchemaSectionOne, //schema which validates the input with the help of Yup
});
return (
<div className="firstSection">
<form onSubmit={formik.handleSubmit}>
<div className="selectable-tags-mortgage">
{mortgageData.map((tag, index) => (
<CheckableAntTag //Reusale component to select tags on click
tag={tag}
key={index}
setValue={(val) => formik.setFieldValue("insuranceMotive", val)}
value={formik.values.insuranceMotive}
/>
))}
</div>
{formik.errors.insuranceMotive && formik.touched.insuranceMotive && (
<div className="formik-errors">{formik.errors.insuranceMotive}</div>
)}
</form>
</div>
);
}
标签组件
export default function CheckableAntTag({ tag, value, setValue }) {
const { CheckableTag } = Tag
return (
<CheckableTag
style={{
backgroundColor: tag === value ? '#AACECD' : 'white'
}}
className="selectable-ant-tags"
key={tag}
checked={tag === value}
onChange={() => setValue(tag)}>
{tag}
</CheckableTag>
)
}
这工作正常并通过突出显示用户选择的标签,但我坚持在这里启用多选功能,以及 formik
希望有人帮助我,谢谢!
解决方案
推荐阅读
- node.js - findByID 不是函数
- xcode - 无法使用 Xcode 10 在 Mojave 上安装 brew
- javascript - 三、bufferGeometry的颜色和位置属性使用不同的顶点,很难比较
- c# - 如何在 WebClient 类中使用 Socks5 代理?
- reactjs - 在 Redux 容器模式中。“连接”应该在组件或容器中吗?
- html - HTML/CSS:水平和垂直居中内容
- javascript - 当我关闭它时,如何让 node.js 进程保持打开状态
- java - 仅当每个循环都找不到匹配项时才运行代码?
- amazon-web-services - 不同子域的 AWS 负载均衡器路由
- python - 在 Python 3 中舍入到最接近的 0.25,没有银行家的舍入