/ / diálogo de papel com entrada de papel fecha na entrada - polímero, elementos de papel

caixa de diálogo de papel com entrada de papel fecha na entrada - polímero, elementos de papel

eu tenho um paper-dialog e nesta caixa de diálogo eu tenho um paper-input com algum valor predefinido e quando quero alterar o valor, minha caixa de diálogo é fechada sem motivo óbvio.

Meu código:

<template>
<paper-dialog entry-animation="scale-up-animation"
exit-animation="fade-out-animation"
id="bookDetailDialog"
class="bookDialog"
opened="{{opened}}">
<paper-item style="padding-left: 11px;">
<paper-icon-button
icon="icons:arrow-back"
on-tap="closeDialog">
</paper-icon-button>
</paper-item>
<paper-item>
<paper-input label="Author" value="{{book.author}}"></paper-input>
</paper-item>
...
<paper-item>
<paper-checkbox checked="{{book.dedication}}">Dedication</paper-checkbox>
</paper-item>
<paper-button raised>Lent</paper-button>
<paper-button raised>Sell</paper-button>
</paper-dialog>
</template>
<script>
Polymer({

is: "book-dialog",

properties: {
book: {
notify: true
},
opened: {
type: Boolean,
notify: true
}
},

closeDialog: function () {
this.opened = false;
this.book = undefined;
}
});
</script>

EDIT: Aqui é onde eu uso o meu elemento:

<dom-module id="books-list">
<style>
span {
flex-basis: 100%;
margin: auto;
}
</style>
<template>
<book-dialog opened="{{opened}}" book="{{selected}}"></book-dialog>
<iron-list
id="bookList"
items="{{books}}"
as="book"
selection-enabled
selected-item="{{selected}}">
<template>
<paper-item>
<span>{{book.id}}</span>
<span>{{book.author}}</span>
<span>{{book.original}}</span>
<span>{{book.language}}</span>
<span>{{book.status}}</span>
</paper-item>
</template>
</iron-list>
</template>
<script>
Polymer({
is: "books-list",

properties: {
books: {
notify: true
},
selected: {
notify: true,
obsever: "_selectionChanged"
},
opened: {
notify: true,
type: Boolean
}
},

observers: [
"_selectionChanged(selected)"
],

_selectionChanged: function () {
if (this.get("selected.id") === ""
|| this.get("selected.id") === undefined) {
this.set("opened", false);
} else {
this.set("opened", true);
}
},

_openAddBookDialog: function () {
this.fire("add-book");
}

});
</script>
</dom-module>

EDITAR: Eu acho que tem algo a ver com o iron-list e que o selected Alterações de atributo ...

Respostas:

0 para resposta № 1

Não tenho certeza se você ainda está procurando por isso, no entanto, fornecerei para quem se deparar com essa pergunta.
Há uma explicação fornecida para um problema relacionado a entrada de papel com diálogo de papel - Elementos de polímero / entrada de papel Edição # 263

Basicamente, você terá que lidar com o evento click de paper-input, para que não se propague para fechar o paper-dialog.
Espero que ajude.


Perguntas relacionadas


Comentários (0)

Adicione um comentário