Я пытался создать проект с vue+vuetify + typescript(tsx), но @click:append не работал в tsx.

Проверить код:

<v-text-field
            v-model="message"
            :append-icon="marker ? 'mdi-map-marker' : 'mdi-map-marker-off'"
            :append-outer-icon="message ? 'mdi-send' : 'mdi-microphone'"
            :prepend-icon="icon"
            @click:append="toggleMarker"
            @click:append-outer="sendMessage"
            @click:prepend="changeIcon"
            @click:clear="clearMessage"
          ></v-text-field>

Tx-код:

protected render() {
        return (
            <li>
                {this.editingId === this.index ?
                    (<div>
                        {/* tslint:disable-next-line:max-line-length */}
                        <v-text-field v-model={this.editingContent} append-icon={'mdi-close'} placeholder={this.item.text} on-click:append={this.save}/>
                        {/*<v-text-field><v-icon color={'red'} slot={'append'}>mdi-close</v-icon></v-text-field>*/}
                    </div>)
                    : (<div>
                            <span>{this.item.text}</span>
                            <v-icon x-small={true} nativeOn-click={this.edit}>mdi-pencil</v-icon>
                        </div>)
                }
            </li>
        );
    }

@click:append => on-click:append={this.save}, не работает и показывает ошибку. как я могу это исправить?

-1
Oliver Guo 29 Апр 2020 в 16:27

1 ответ

On-click:append => { ...{ on: { 'click:append': обработчик } }. как это:

<v-text-field v-model={this.editingContent} append-icon={'mdi-close'} placeholder={this.item.text}  {...{on: {'click:append': this.save}}}/>

Спасибо vuetify сообществу разногласий.

0
Oliver Guo 29 Апр 2020 в 18:22