我希望在清除 md-autocomplete 的输入框时实现一个函数。更具体地说,当按下"X"按钮清除字段时,我想将变量 (data_on( 更改为 false。我查看了文档,似乎没有清除输入的事件。以下是我的组件当前的样子:
<template>
<div class="md-auto">
<md-autocomplete v-model="selected" :md-options="users" :md-fuzzy-search="false">
<label id="placehold" v-if="selected == null || selected == ''">Start typing...</label>
<template slot="md-autocomplete-item" slot-scope="{ item, term }">
<md-highlight-text id="mdtxt" :md-term="term">{{ item }}</md-highlight-text>
</template>
<template slot="md-autocomplete-empty" slot-scope="{ term }">
"{{ term }}" is not currently on file. <a @click="noop()">You can add them here</a>.
</template>
</md-autocomplete>
<div class="md-layout md-gutter">
<transition name="fade">
<a class="selectlink" v-if="selected != null && selected !=''" id="link-effect-4" v-on:click="show_data()">Select</a>
</transition>
</div>
<div class="md-layout md-gutter">
<transition name="fade">
<span v-if="data_on && selected != null && selected != ''">
<h1>{{ data_display }}</h1>
</span>
</transition>
</div>
</div>
</template>
使用计算是诀窍。
函数如下:
computed: {
data_on () {
if (this.selected != null && this.selected != '' && this.users.includes(this.selected)) {
this.view_link = true
return true
} else {
this.data_display = null
this.view_data = false
return false
}
}
}
如果将:v-if="data_on"
添加到元素,它将根据data_on显示/隐藏。