2

私は 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が送信され、カスタム入力からは送信されません。

送信されたフォーム データを表示する、Firefox 開発ツールから切り取られた画像。 それは読みます:

カスタム入力値が送信されないのはなぜですか?

4

1 に答える 1