gpt4 book ai didi

autocomplete - polymer 纸输入 html 数据列表自动完成/建议列表

转载 作者:行者123 更新时间:2023-12-04 05:15:59 24 4
gpt4 key购买 nike

所以我在 polymer 中使用了一种简单的自动完成方法

<paper-input autocomplete="on" name="stuff" list="stuffs"></paper-input>

带有一个简单的项目列表
(尝试 选择 模板 元素来执行此操作)
    <datalist id="stuffs">
<option value="blah blah"/>
.
.
.
</datalist>

事情是,我想找到一种方法来访问在键入过程中出现的建议的动态下拉列表。
实际上有办法吗?

最佳答案

我认为你最好的选择是不使用 datalist .

这是我为自己使用而编写的组件示例:

<dom-module id="paper-autocomplete">
<style>
iron-collapse {
box-shadow: 6px;
}

paper-button {
width: 100%;
text-transform: none;
}
</style>
<template>
<paper-input-container>
<label>{{label}}</label>
<content select=".content"></content>
<input id="searchBox" class="paper-input-input" is="iron-input" bind-value="{{searchValue::input}}"></input>
</paper-input-container>
<iron-collapse id="collapse">
<paper-material>
<div>
<template id="resultList" is="dom-repeat" items="{{choices}}" filter="_listFilter">
<paper-item>
<paper-button on-tap="_selectItem">{{item.name}}</paper-button>
</paper-item>
</template>
</div>
</paper-material>
</iron-collapse>
</template>
</dom-module>
<script>
(function() {
Polymer({
is: "paper-autocomplete",
properties: {
choices: Array,
label: String,
value: {
type: Object,
},
searchValue: {
type: String,
value: '',
observer: "_valueChanged"
}
},
ready: function() {
this.$.resultList.render()
},
_valueChanged: function(e) {
var collapse = this.$.collapse
if (e != '' && !collapse.opened) {
this.$.resultList.render()
collapse.toggle()
} else
if (e == '' && collapse.opened) {
collapse.toggle()
}
},
_listFilter: function(item) {
return item.name.toLowerCase().includes(
this.searchValue.toLowerCase()
)
},
_selectItem: function(event) {
var collapse = this.$.collapse;
this.set('searchValue', event.model.item.name)
this.set('value', event.model.item)
collapse.toggle()
}
})
})()
</script>
_valueChanged观察到 searchValue 的变化在输入和切换折叠。 _listFilter过滤绑定(bind)到 dom-repeat 的项目基于 searchValue .
#resultList#collapse元素可以出于您自己的目的放置在其他地方。

编辑

我应该指出 choices这是一个对象数组,每个对象都有一个名称属性,这是它们被过滤的方式。根据您要实现的目标,可以轻松地将其更改为过滤字符串数组。

关于autocomplete - polymer 纸输入 html 数据列表自动完成/建议列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31030583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com