如何以编程方式更新 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官方文档:
我正在尝试以编程方式更新 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官方文档: