Searchbar 搜索栏
介绍
搜索栏
基础用法
html
<template>
<nut-searchbar v-model="searchValue"></nut-searchbar>
</template>typescript
const searchValue = ref<string>('')设置搜索框形状
html
<template>
<nut-searchbar shape="square"></nut-searchbar>
</template>搜索事件监听
html
<template>
<nut-searchbar v-model="searchValue" @search="onSearch"></nut-searchbar>
</template>typescript
const searchValue = ref<string>('')
function onSearch(value: string) {
console.log('搜索触发', value)
}显示搜索 icon
html
<template>
<nut-searchbar v-model="searchValue">
<template #leftin>
<nut-icon name="search2" />
</template>
</nut-searchbar>
</template>右侧添加搜索文字
html
<template>
<nut-searchbar v-model="searchValue">
<template #rightout>搜索</template>
</nut-searchbar>
</template>更改输入框内部及外部的背景样式
html
<template>
<nut-searchbar v-model="searchValue"
background="linear-gradient(to right, #9866f0, #eb4d50)"
input-background="#fff"></nut-searchbar>
</template>自定义清除按钮 icon
html
<template>
<nut-searchbar v-model="searchValue">
<template #clear-icon>
<image style="width: 10px; height: 10px"
src="https://img10.360buyimg.com/imagetools/jfs/t1/170133/30/22902/10546/61833626E32d7ccde/a7c373ba30de9a89.png"></image>
</template>
</nut-searchbar>
</template>显示全部 icon
html
<template>
<nut-searchbar v-model="searchValue">
<template #leftout>
<nut-icon name="left" />
</template>
<template #leftin>
<nut-icon name="search2" />
</template>
<template #rightin>
<nut-icon name="photograph" />
</template>
<template #rightout>
<nut-icon name="message" />
</template>
</nut-searchbar>
</template>API
Props
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| v-model | 当前输入的值 | number / string | - | - |
| shape | 搜索框形状 | string | square / round | round |
| max-length | 最大输入长度 | - | ||
| input-type | 输入框类型 | string | - | text |
| placeholder | 输入框默认暗纹 | string | - | 请输入 |
| clearable | 是否展示清除按钮 | boolean | - | true |
| clear-icon | 自定义清除按钮图标 | object | - | circle-close |
| background | 输入框外部背景 | string | - | #fff |
| input-background | 输入框内部背景 | string | - | #f7f7f7 |
| confirm-type | 键盘右下角按钮的文字 | string | - | done |
| autofocus | 是否自动聚焦 | boolean | - | false |
| focus-style | 聚焦时搜索框样式 | object | - | - |
| disabled | 是否禁用输入框 | boolean | - | false |
| readonly | 输入框只读 | boolean | - | false |
| input-align | 对齐方式,可选 left center right | string | - | left |
safe-area-inset-bottom 1.1.6 | 是否开启 iphone 系列全面屏底部安全区适配 | boolean | - | false |
cursor-spacing 1.2.0 | 指定光标与键盘的距离,取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 | number | - | 0 |
Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| change | 输入内容时触发 | val, event |
| focus | 聚焦时触发 | val, event |
| blur | 失焦时触发 | val, event |
| clear | 点击清空时触发 | val |
| search | 按下 ENTER 键时触发 | val |
| click-input | 点击输入区域时触发 | val, event |
| click-left-icon | 点击左侧图标时触发 | val, event |
| click-right-icon | 点击右侧图标时触发 | val, event |
Slots
| 名称 | 说明 |
|---|---|
| leftin | 输入框内 左icon |
| leftout | 输入框外 左icon |
| rightin | 输入框内 右icon |
| rightout | 输入框外 右icon |
主题定制
样式变量
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
| 名称 | 默认值 |
|---|---|
| --nut-searchbar-background | var(--nut-white) |
| --nut-searchbar-right-out-color | var(--nut-black) |
| --nut-searchbar-padding | 9px 16px |
| --nut-searchbar-width | 100% |
| --nut-searchbar-input-background | #f7f7f7 |
| --nut-searchbar-input-padding | 0 0 0 13px |
| --nut-searchbar-input-height | 32px |
| --nut-searchbar-input-border-radius | 16px |
| --nut-searchbar-input-box-shadow | 0 0 8px 0 rgba(0, 0, 0, 0.04) |
| --nut-searchbar-input-bar-color | inherit |
| --nut-searchbar-input-bar-placeholder-color | inherit |
