如何以编程方式更新 RSuite 中 TagInput 的值?

How to programmatically update the value of a TagInput in RSuite?

我正在尝试以编程方式更新 RSuite TagInput 的值,以帮助用户通过界面输入更复杂的值。但是,无论我尝试什么,TagInput 似乎只会在用户直接与其交互时更新。官方文档没有提及使用代码更新此组件的任何方式。同样,设置 TagInput 的 value 属性 似乎没有任何作用。

我注意到 TagInput 的值 属性 标记为 controlled。但是,其他组件(如 RSuite 输入)的值也标记为 controlled,但可以使用代码更新它们。

有什么方法可以使用 JavaScript 更新 TagInput 吗?

您要为 TagInput 设置的值必须在 TagInput 组件的 defaultValue 属性(而不是 value 属性)中传递,您将传递的值应该是数组格式。并添加一个具有唯一值的关键道具(应该在每次渲染时改变)然后 TagInput 组件的值将在每个组件上更新 re-render.

<TagInput key={`${Math.floor((Math.random() * 1000))}-somename`} defaultValue={['value1','value2']}/>

你可以看看这个rsuite官方文档: