Searchbox 搜索框
示例
风格
可选的 ui
属性值:primary
。
<template>
<article>
<veui-searchbox/>
<veui-searchbox ui="primary"/>
</article>
</template>
<script>
import { Searchbox } from 'veui'
export default {
components: {
'veui-searchbox': Searchbox
}
}
</script>
尺寸
可选的 ui
属性值:large
/small
。
<template>
<article>
<veui-searchbox ui="large"/>
<veui-searchbox/>
<veui-searchbox ui="small"/>
</article>
</template>
<script>
import { Searchbox } from 'veui'
export default {
components: {
'veui-searchbox': Searchbox
}
}
</script>
只读与禁用
<template>
<article>
<section>
<veui-radio-group
v-model="state"
:items="states"
/>
</section>
<section>
<veui-searchbox
:readonly="isReadonly"
:disabled="isDisabled"
/>
<veui-searchbox
:readonly="isReadonly"
:disabled="isDisabled"
ui="primary"
/>
</section>
</article>
</template>
<script>
import { Searchbox, RadioGroup } from 'veui'
export default {
components: {
'veui-searchbox': Searchbox,
'veui-radio-group': RadioGroup
},
data () {
return {
state: null,
states: [
{
label: 'Normal',
value: null
},
{
label: 'Read-only',
value: 'readonly'
},
{
label: 'Disabled',
value: 'disabled'
}
]
}
},
computed: {
isReadonly () {
return this.state === 'readonly'
},
isDisabled () {
return this.state === 'disabled'
}
}
}
</script>
推荐列表
<template>
<article>
<veui-searchbox
v-model="value"
clearable
:suggestions="suggestions"
replace-on-select
@select="handleSelect"
/>
</article>
</template>
<script>
import { Searchbox } from 'veui'
import toast from 'veui/managers/toast'
export default {
components: {
'veui-searchbox': Searchbox
},
data () {
return {
value: '',
browsers: [
'Google Chrome',
'Apple Safari',
'Microsoft Edge',
'Mozilla Firefox',
'Opera',
'Vivaldi',
'Internet Explorer',
'Maxthon',
'Android Browser',
'UC Browser',
'Samsung Internet',
'QQ Browser'
]
}
},
computed: {
suggestions () {
if (!this.value) {
return []
}
return this.browsers.filter(browser => {
return browser.toLowerCase().indexOf(this.value.toLowerCase()) !== -1
})
}
},
methods: {
handleSelect ({ value }) {
toast.info(value)
}
}
}
</script>
API
属性
名称 | 类型 | 默认值 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
ui | string | - | 按钮预设样式。
| |||||||||
placeholder | string | - | 搜索框占位符。 | |||||||||
value | string | - |
输入框的值。 | |||||||||
autofocus | boolean | false | 是否自动聚焦。 | |||||||||
clearable | boolean | false | 是否显示清除按钮。 | |||||||||
select-on-focus | boolean | false | 聚焦时是否自动选择文本。 | |||||||||
composition | boolean | false | 是否感知输入法状态。 | |||||||||
suggestions | Array<string>|Array<Object> | - | 推荐列表。列表项为
| |||||||||
replace-on-select | boolean | true | 选择推荐项时是否自动使用其内容填充文本框。 | |||||||||
suggest-trigger | Array<string>|string | input | 展示推荐列表的触发时机。可以是枚举值,也可以枚举值的组合。
| |||||||||
disabled | boolean | false | 是否为禁用状态。 | |||||||||
readonly | boolean | false | 是否为只读状态。 |
插槽
名称 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
suggestions | 推荐列表内容。
| |||||||||
suggestions-before | 插入推荐列表前的内容。 | |||||||||
suggestions-after | 插入推荐列表后的内容。 | |||||||||
suggestion | 推荐列表的单项插槽,用来定制选项内容。
当 |
事件
名称 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
input | 输入框中文本发生变化时触发该事件,回调参数为
| |||||||||
suggest | 需要展示推荐列表时触发,回调参数为
| |||||||||
select | 选择推荐列表某个选项时触发,回调参数为
| |||||||||
search | 输入内容被提交时触发,回调参数为
|
图标
名称 | 描述 |
---|---|
search | 搜索。 |