【发布时间】:2020-06-15 18:57:21
【问题描述】:
我在我的项目中使用element UI autocomplete component。
当输入没有产生结果时,我想显示 no results 消息。
在其他项目中,我将其作为建议框中的一个选项(不可选择):
但是,使用 element-ui 自动完成,搜索图标消失后,下拉菜单也会消失:
有了这个组件,我无法做到这一点。有什么想法吗?
我的代码如下所示:
模板:
<el-form ref="addressForm" :inline="true" :model="formData">
<el-form-item prop="city">
<el-autocomplete
class="inline-input"
v-model="formData.cityInput"
:fetch-suggestions="getCities"
placeholder="City"
:trigger-on-focus="false"
:clearable="true"
@select="handleSelectCity"
@clear="clearCity"
size="small"
></el-autocomplete>
</el-form-item>
:
:
<el-form-item>
<el-button type="primary" @click="onSubmit" size="small">
Search
</el-button>
</el-form-item>
</el-form>
脚本:
export default {
data() {
return {
formData: {
cityInput: "",
city: "",
:
:
},
}
},
methods: {
getCities(query, callback) {
this.clearCity();
// Ajax call to obtain results for autocomplete
axios.get(
"/cities", {
query: query
})
.then(
response => {
callback(response.data);
}
);
},
handleSelectCity(item) {
this.formData.city = item.value;
},
clearCity() {
this.formData.city = "";
},
:
:
:
}
};
PHP 代码:(Laravel)
public function getCities($query)
{
$res = DB::connection('mainDb')
->table('offices')
->where('city', 'like', $query . '%')
->select('city AS value')
->distinct()
->get();
return $res;
}
【问题讨论】:
-
请分享一些代码
-
也许您可以使用键和标签推送 1 个项目,(无结果),如果已选择,则可以通过键检查是否已选择,如果键来自无结果项目,则可以清除输入,有什么意义?
-
@BoussadjraBrahim,完成。
-
@Ata,不,这个想法是用户将无法选择“无结果”选项。
标签: javascript php vue.js element-ui element-io