为什么不将自定义元素内的输入与表单一起提交?

时间:2019-01-26 19:09:09

标签: html forms custom-element lit-element

我正在玩LitElement,试图制作一些简单的自定义元素。

这是我的app.js:

class MyInput extends LitElement {
    static get properties() {
        return {
            name: { type: String, reflect: true },
            innerVal: { type: String }
        }
    }

    constructor() {
        super()
        this.innerVal = ''
    }

    render() {
        return html`
          <input type="text" @keyup=${this.inputHandle.bind(this)} />
          <input type="hidden" name="${this.name}" .value="${this.innerVal}" />
        `
    }

    inputHandle(ev) {
        let { target } = ev
        this.innerVal = target.value + '__'
    }
}

customElements.define('my-input', MyInput)

这是我填写的表格:

    <form action="/action" method="POST">
        <div><my-input name="some_name"></my-input></div>
        <div><input name="just_input" /></div>
        <button type="submit">Submit</button>
    </form>

但是,当我按下“提交”时,仅发送来自just_input输入的数据,而不发送来自我的自定义输入的数据:

A cropped image from Firefox dev tools, displaying the submitted form data. It reads: "just_input: qqqq"

为什么我的自定义输入值未提交?

1 个答案:

答案 0 :(得分:0)

正如某人在Mastodon上向我指出的那样,目前尚未实现。 Relevant Github issue