当我们在搜索框中输入时,如何使 vue 动态过滤选项?
How to make vue dynamically filter options as we type in the search box?
我希望 Vue 在我们输入内容时动态过滤搜索框中可用的选项。截至目前,它只是显示整个选项列表,没有任何过滤(即使我们键入)。
<el-form-item label="Filename" required>
<el-select
v-model="queryform.fileUuid"
:remote-method="getFilenames"
:loading="loading"
filterable
remote
reserve-keyword
>
<el-option
v-for="(item, idx) in filenameOptions"
:key="idx"
:label="item.filename"
:value="item.uuid"
/>
</el-select>
</el-form-item>
filenameOptions 已填充并包含以下形式的对象:
{ "filename" : "foo", "uuid" : "bar" }
以下代码块遵循与上一个块相同的逻辑,按预期工作:
<el-select
v-model="form.project"
:remote-method="getProjects"
:loading="loading"
filterable
remote
reserve-keyword
>
<el-option
v-for="(item, idx) in projectOptions"
:key="idx"
:label="item.key"
:value="item.key"
/>
我不知道发生了什么问题。任何见解将不胜感激。
您是否定义了 getFilenames
方法并且其工作方式类似于 docs for remote search 上的示例?由于您在 el-select
元素上定义了 :remote-method
属性,因此您需要确保提供有效的过滤器函数。
如果您只想根据用户在 select 元素中输入的内容来过滤选项标签,您可能会发现 options filtering select element` 清洁器可以使用。
我希望 Vue 在我们输入内容时动态过滤搜索框中可用的选项。截至目前,它只是显示整个选项列表,没有任何过滤(即使我们键入)。
<el-form-item label="Filename" required>
<el-select
v-model="queryform.fileUuid"
:remote-method="getFilenames"
:loading="loading"
filterable
remote
reserve-keyword
>
<el-option
v-for="(item, idx) in filenameOptions"
:key="idx"
:label="item.filename"
:value="item.uuid"
/>
</el-select>
</el-form-item>
filenameOptions 已填充并包含以下形式的对象:
{ "filename" : "foo", "uuid" : "bar" }
以下代码块遵循与上一个块相同的逻辑,按预期工作:
<el-select
v-model="form.project"
:remote-method="getProjects"
:loading="loading"
filterable
remote
reserve-keyword
>
<el-option
v-for="(item, idx) in projectOptions"
:key="idx"
:label="item.key"
:value="item.key"
/>
我不知道发生了什么问题。任何见解将不胜感激。
您是否定义了 getFilenames
方法并且其工作方式类似于 docs for remote search 上的示例?由于您在 el-select
元素上定义了 :remote-method
属性,因此您需要确保提供有效的过滤器函数。
如果您只想根据用户在 select 元素中输入的内容来过滤选项标签,您可能会发现 options filtering select element` 清洁器可以使用。