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

1

正如有人在 Mastodon 上向我指出的那样,到目前为止,它还没有实现。相关 Github 问题

于 2019-01-26T22:39:51.583 回答