https://mobile.ant.design/com...
antd-mobile 的 tag 提供了 onChange 来判断标签是选中还是未选中状态。但如果存在多个 tag 标签,要每个 tag 写一个 onChage 函数来处理吗?如果我的 tag 是根据服务端的某些数据自动创建而非手动写出来的呢?又如何获取每个标签的选中状态?
目前好像没有提供接口可以区分到底是点击了哪个标签,所以我的困惑也就是如果有多个 tag 时,如何获取他们的统一状态。
https://mobile.ant.design/com...
antd-mobile 的 tag 提供了 onChange 来判断标签是选中还是未选中状态。但如果存在多个 tag 标签,要每个 tag 写一个 onChage 函数来处理吗?如果我的 tag 是根据服务端的某些数据自动创建而非手动写出来的呢?又如何获取每个标签的选中状态?
目前好像没有提供接口可以区分到底是点击了哪个标签,所以我的困惑也就是如果有多个 tag 时,如何获取他们的统一状态。
已经字节解决了问题,我的方案如下:
const expertTags = experts.map((expert, i) => {
const element = (
<Tag key={i} onChange={(selected) => { tagsChange(selected, experts[i]) }}>
{expert.profile.nickname}
</Tag>
)
return element
})
return (
<div>
{ expertTags }
</div>
)
其中 tagsChange 可以是一个有状态组件的成员函数,也可以是一个无状态组件的 action。在该函数中将 tagsChange 接收的第二个参数(i)作为数据索引来储存。当提交数据时根据索引遍历源数据就可以找到需要的内容了。
http://www.cnblogs.com/liumcb...这里可能对你有帮助