我在我的项目element UI autocomplete component中使用。
当输入无结果时,我想显示一条无结果消息。
在其他项目中,我在建议框中将其作为选项(不可选择):
但是,使用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;
}
答案 0 :(得分:0)
您可以使用v-select
实现此行为。有filtering option,因此您可以选择选项或使用自动完成功能将其键入下来。
有两个属性可控制“无结果”情况:no-match-text
(过滤未给出结果时)和no-data-text
(当select中没有选项时)。