Angularjs Don';在输入数据之前,是否使用angular ui select显示下拉选项?
我使用angular ui select指令创建一个自动完成的输入字段。我希望能够在不显示下拉选项的情况下单击并聚焦字段。文档中的Plunker示例就是这样工作的,但我无法让我的示例正常工作。请帮忙 这是我的密码:Angularjs Don';在输入数据之前,是否使用angular ui select显示下拉选项?,angularjs,angular-ui,Angularjs,Angular Ui,我使用angular ui select指令创建一个自动完成的输入字段。我希望能够在不显示下拉选项的情况下单击并聚焦字段。文档中的Plunker示例就是这样工作的,但我无法让我的示例正常工作。请帮忙 这是我的密码: <ui-select ng-model="customer.selected" theme="bootstrap"> <ui-select-match placeholder="Start typing..">{{ $select.selected.f
<ui-select ng-model="customer.selected" theme="bootstrap">
<ui-select-match placeholder="Start typing..">{{ $select.selected.family_name }}</ui-select-match>
<ui-select-choices repeat="customer in customers | filter: $select.search">
<div ng-bind-html="trustAsHtml((customer.family_name | highlight: $select.search))"></div>
</ui-select-choices>
</ui-select>
{{$select.selected.family_name}
这是他们的Plunker示例,它以我希望的方式工作
默认情况下,ui select会显示一个下拉列表,我认为我们无法更改它。但您可以更改其绑定数据。在plunker示例中,ui选择绑定到模型“address.selected”,该模型最初为空,因此不会弹出任何内容。但一旦您开始键入refresh,它将调用函数refreshAddress()将结果填充到address中。填充结果后,ui select会发现其模型(地址)包含数据并开始显示下拉列表。搜索完某个内容后,尝试单击文本框,它仍然会显示结果,因为它们仍然存在于模型中
因为,我想您是用一个局部变量来尝试它,所以它预先填充了ui select的数据,因此它显示了它。我认为您应该尝试在代码中发出请求以获取数据,并使用刷新和刷新延迟。如果您没有web服务并且希望使用本地数据,我建议将select绑定到空模型并使用自定义函数将数据放入其中进行刷新,您可能需要在刷新函数中写入自定义搜索功能,但您可以使用javascript的search()或indexOf()进行此操作。我也有同样的问题。我希望能够在不显示下拉选项的情况下单击并聚焦字段 我在这里分享我的解决方案。也许它会帮助别人。我在
@Corey Quillen
共享的plunker中的Selectize theme
示例中进行了更改。我已经清理了其他东西,这样会有帮助的
1) 首先,我在ui-select
指令中添加了reset-search-input=“false”
。因此,它不会重置搜索输入
2) 然后我用自定义过滤器propsFilter
替换了filter
。已在选择2主题中使用。放
if(!props.name.length){
返回;
}
在上面的过滤器中如果条件。在demo.js文件中
因此,如果未输入搜索文本,则数据返回空
这是它的特效。嗨!你解决这个问题了吗?