自定义元素formStateRestoreCallback钩子以'autocomplete'为reason参数的触发场景及有效性咨询
自定义元素formStateRestoreCallback钩子以'autocomplete'为reason参数的触发场景及有效性咨询
我一直在找能让formStateRestoreCallback生命周期钩子的第二个reason参数返回autocomplete的实际示例,但找了半天毫无收获。
下面是规范里的相关描述:
当用户代理代表用户或作为导航的一部分更新与表单关联的自定义元素的值时,会调用其formStateRestoreCallback,并传入新状态以及一个表示原因的字符串——"autocomplete"或"restore"作为参数。
要触发reason为restore的情况其实很简单:只要页面上有对应的自定义元素(别忘了用setFormValue设置值),刷新页面就能触发。比如这段代码:
customElements.define( "my-input", class extends HTMLElement { constructor() { super(); this.internals_ = this.attachInternals(); this.internals_.setFormValue("sendData", "localData"); } static get formAssociated() { return true; } connectedCallback() { console.log("connectedCallback has been invoked"); } formResetCallback() { console.log("formResetCallback has been invoked"); } formStateRestoreCallback(state, mode){ console.log("formStateRestoreCallback:", state, mode); } } );
但问题来了,到底要怎么做才能让reason参数变成autocomplete呢?有没有人实际验证过这个功能是否真的能正常工作?
备注:内容来源于stack exchange,提问作者MaximPro
相关产品推荐
相关产品推荐

