动态下拉的价值推动聚合物中的火基DB

时间:2017-08-14 22:29:08

标签: drop-down-menu polymer

我需要获得动态下拉列表的值。我所有的其他领域都使用.value和所有工作。当我尝试获取下拉列表的值时,我在控制台日志中出现错误...'无法读取未定义'的属性'值'。
我的HTML看起来像这样......

div class="">
    <paper-input id="pxName" label="Patient Name"></paper-input>
    <paper-input id="pxAptTime" label="Appointment Time"></paper-input>
    <paper-input id="pxLocation" label="Location"></paper-input>
    <paper-dropdown-menu label="Doctors">
        <paper-listbox slot="dropdown-content" class="dropdown-content">
            <template is="dom-repeat" items="[[doctors]]" as="dr">
                <paper-item id="pxProvider">[[dr.name]]</paper-item>
            </template>

        </paper-listbox>
    </paper-dropdown-menu>
    <div id="px-input">
        <paper-button raised id="addPatient" on-tap="addPatient">Add Patient</paper-button>
    </div>
</div>

我的发布功能看起来像这样......

addPatient: function () {
            // console.log(this.$.pxProvider.value);
            this.$.patients.ref.push({
                name: this.$.pxName.value,
                aptTime: this.$.pxAptTime.value,
                location: this.$.pxLocation.value,
                provider: this.$.pxProvider.value
            })

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我相信你属于新的范围 这意味着你不能使用&#34;这个&#34;在你的推动中。

addPatient: function () {
        var me = this;
        this.$.patients.ref.push({
            name: me.$.pxName.value,
            aptTime: me.$.pxAptTime.value,
            location: me.$.pxLocation.value,
            provider: me.$.pxProvider.value
        })
}


另一种解决方案,可能更清洁:

addPatient: function () {
        this.$.patients.ref.push({
            name: this.$.pxName.value,
            aptTime: this.$.pxAptTime.value,
            location: this.$.pxLocation.value,
            provider: this.$.pxProvider.value
        }.bind(this));
}