记一下在react中input通过defaultValue绑定值输入之后切换绑定值不更新问题

在react中通过input的defaultValue绑定的值是可以输入的,但是输入之后,切换绑定的值,通过e.target
可以看到input标签上的value绑定值时发生改变的,但是页面不更新
这里可以使用react中的ref来绑定值
首先通过

const TemplateNameInput:any=React.createRef()

创建ref(在ts中是需要声明类型的,不然在input中ref会报红)
在input中

 <input ref={TemplateNameInput} onBlur={(e) => blurInpUpData(e.target.value, '模板名称')}  type="text" />

绑定ref
给绑定的量绑定一个useEffect

useEffect(() => {
        if(TemplateNameInput.current){
            TemplateDescribeInput.current.value=Details.description
    }   
    }, [Details])

在这个useEffect中必须要加if判断,因为刚进来的时候TemplateDescribeInput还没有绑定到相应的input框,但是useEffect这个函数钢筋页面会默认调用一次,他的第二个参数如果为[]则进页面只调用一次。
如果[]中写了一个量,则当这个量改变的时候,这个函数就会执行,这个量发生改变,重新给input框赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值