1.0.4 • Published 1 month ago

@tanzhenxing/zx-search-bar v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
1 month ago

zx-search-bar 组件

自定义搜索栏组件,基于 uni-app + vue3 setup 实现,支持 H5、各类小程序、App 平台。参考官方 uni-search-bar 组件,适合商品、文章等内容的搜索场景。

基本用法

<template>
  <zx-search-bar v-model="searchValue" @confirm="onSearch" />
</template>

<script setup>
import { ref } from 'vue'
const searchValue = ref('')
function onSearch(e) {
  // 处理搜索逻辑
  console.log('搜索内容:', e.value)
}
</script>

属性(Props)

属性名类型默认值说明
modelValueString/Number''搜索栏绑定值,支持 v-model
placeholderString搜索占位符文字
radiusNumber/String5搜索栏圆角,单位 px
clearButtonStringauto清除按钮显示方式:always-一直显示、auto-输入框不为空时显示、none-不显示
cancelButtonStringauto取消按钮显示方式:always-一直显示、auto-输入框不为空时显示、none-不显示
cancelTextString取消取消按钮文字
bgColorString#F8F8F8输入框背景色
textColorString#000000输入文字颜色
maxlengthNumber/String100最大输入长度
focusBooleanfalse是否自动聚焦
readonlyBooleanfalse是否只读,展示不可编辑

事件(Events)

事件名说明返回参数
input输入内容变化时触发value
update:modelValuev-model 双向绑定value
confirm点击键盘搜索/回车时触发{ value }
clear点击清除按钮时触发{ value }
cancel点击取消按钮时触发{ value }
blur输入框失去焦点时触发{ value }
focus输入框获得焦点时触发e.detail

插槽(Slots)

插槽名说明
searchIcon替换搜索图标
clearIcon替换清除图标

完整示例

详见:src/pages/components/search-bar/index.vue

<zx-search-bar
  v-model="searchValue"
  placeholder="请输入关键词"
  :radius="10"
  :clearButton="'auto'"
  :cancelButton="'auto'"
  cancelText="取消"
  bgColor="#f0f0f0"
  textColor="#333"
  :maxlength="50"
  @confirm="onSearch"
  @input="onInput"
  @clear="onClear"
  @cancel="onCancel"
  @blur="onBlur"
  @focus="onFocus"
>
  <template #searchIcon>
    <uni-icons color="#007aff" size="20" type="search" />
  </template>
  <template #clearIcon>
    <uni-icons color="#ff4d4f" size="20" type="closeempty" />
  </template>
</zx-search-bar>

注意事项

  • 组件已适配 H5、各类小程序、App 平台。
  • 不依赖浏览器特有 DOM。
  • 国际化文案可通过 src/components/zx-search-bar/i18n/ 目录自定义。
  • 如需自定义图标,建议使用 uni-icons 组件。

如有问题或建议,欢迎反馈。

1.0.4

1 month ago

1.0.3

1 month ago

1.0.2

1 month ago

1.0.1

2 months ago