更新记录

0.0.6(2024-11-20) 下载此版本

  • fix: 更换characterLimit

0.0.5(2024-10-27) 下载此版本

  • chore: 更新文档

0.0.4(2024-10-27) 下载此版本

  • fix: 修复值为null时会显示关闭图标
查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.26 app-vue app-uvue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × ×

lime-search 搜索

  • 用于用户输入搜索信息,并进行页面内容搜索。兼容uniapp/uniappx
  • 插件依赖lime-stylelime-sharedlime-iconlime-svg这是个收费的插件,如果不需要svg可以在lime-icon里注释掉

安装

在插件市场导入即可,首次导入可能需要重新编译

代码演示

基础使用

v-model 用于控制搜索框中的文字。

<l-search class="search" v-model="value" placeholder="请输入关键字" />
const value = ref('')

事件监听

Search 组件提供了 change,blur,clear,focus,submit,action-click, 通过action属性设置右侧操作按钮文字

<l-search
    v-model="value"
    placeholder="请输入关键字"
    action="取消"
    @change="onChange"
    @blur="onBlur"
    @clear="onClear"
    @focus="onFocus"
    @submit="onSubmit"
    @action-click="onActionClick">
</l-search>
const value = ref('');
const onChange = (value: string) => {
    console.log(`onChange`, value)
}
const onBlur = (value: string) => {
    console.log(`onBlur`, value)
}
const onClear = (value: string) => {
    console.log(`onClear`, value)
}
const onFocus = (value: string) => {
    console.log(`onFocus`, value)
}
const onSubmit = (value: string) => {
    console.log(`onSubmit`, value)
}
const onActionClick = () => {
    console.log('click')
}

内容居中

通过 center 属性设置搜索框内容的居中。

<l-search class="search" v-model="value" :center="true"  placeholder="请输入关键字" />

禁用

通过 disabled 属性设置禁用。

<l-search class="search" v-model="value" :disabled="true"  placeholder="请输入关键字" />

形状

通过 shape 属性设置搜索框形状。可选项:square/round

<l-search class="search" v-model="value" shape="round"  placeholder="请输入关键字" />

自定义

可通过插槽实现复杂的布局

<l-search class="search" padding="16rpx 5rpx 16rpx 24rpx" v-model="value" shape="round" placeholder="请输入关键字" >
    <template #left>
        <text style="padding-right: 10px; color: #666">地址</text>
    </template>
    <template #right-icon>
        <l-button type="primary" size="small" shape="round">搜索</l-button>
    </template>
</l-search>

查看示例

  • 导入后直接使用这个标签查看演示效果
 // 代码位于 uni_modules/lime-search/compoents/lime-search 
<lime-search />

插件标签

  • 默认 l-search 为 component
  • 默认 lime-search 为 demo

关于vue2的使用方式

  • 插件使用了composition-api, 如果你希望在vue2中使用请按官方的教程vue-composition-api配置
  • 关键代码是: 在main.js中 在vue2部分加上这一段即可.
// vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

API

Props

参数 说明 类型 默认值
value string -
v-model string -
action 自定义右侧操作按钮文字 string -
adjustPosition 键盘弹起时,是否自动上推页面 string -
alwaysEmbed 强制 input 处于同层状态,默认 focus 时 input 会切到非同层状态 (仅在 iOS 下生效) string -
center 搜索框内容是否居中 boolean -
clearable 是否启用清除控件 boolean true
confirmHold 点击键盘右下角按钮时是否保持键盘不收起 boolean false
disabled 是否禁用 boolean false
focus 是否聚焦 boolean false
holdKeyboard focus时,点击页面的时候不收起键盘 boolean false
confirmType 设置键盘右下角按钮的文字,仅在type='text'时生效confirmType string search
cursor 指定 focus 时的光标位置 number -
cursorSpacing 搜索框聚焦时底部与键盘的距离 number 0
leftIcon 左侧图标 string 0
maxcharacter 用户最多可以输入的字符个数,一个中文汉字表示两个字符长度。maxcharactermaxlength 二选一使用 number -
maxlength 用户最多可以输入的文本长度,一个中文等于一个计数长度。默认为 -1,不限制输入长度。maxcharactermaxlength 二选一使用 number -1
placeholder 占位符 string -
placeholderClass 指定 placeholder 的样式类 string -
placeholderStyle 指定 placeholder 的样式 string -
selectionEnd 光标结束位置,自动聚集时有效,需与 selection-start 搭配使用 number -
selectionStart 光标起始位置,自动聚集时有效,需与 selection-end 搭配使用 number -
shape 搜索框形状,可选square\|round string -
type 拉起键盘的类型 string -
lStyle 样式 string -
cursorColor 光标颜色 string -
padding 内边距 string -
radius 圆角 string -
height 高度 string -
bgColor 背景色 string -
fontSize 文本字体大小 string -
textColor 文本颜色 string -
iconColor 图标颜色 string -
clearIconColor 删除图标颜色 string -

Events

事件名 说明 回调参数
action-click 点击右侧触发 -
change 输入时触发 value: string
blur 输入框失去焦点时触发 value: string
clear 点击清除按钮后触发 -
focus 输入框获得焦点时触发 value: string
submit 确定搜索时触发 value: string

Slots

名称 说明
left 自定义左侧内容(搜索框外)
action 自定义右侧内容(搜索框外
left-icon 自定义左侧图标(搜索框内)
right-icon 自定义右侧图标(搜索框内)

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式)。uvue app无效。

名称 默认值 描述
--l-search-bg-color: $fill-3 -
--l-search-text-color: $text-color-1 -
--l-search-font-size: $font-size-md -
--l-search-height: 80rpx -
--l-search-padding: 16rpx 24rpx -
--l-search-placeholder-color: $text-color-3 -
--l-search-icon-color: $text-color-4 -
--l-search-radius: 99px -
--l-search-action-color: $primary-color -
--l-search-clear-icon-color: $text-color-4 -

常见问题

插件包含一下lime-svg为收费插件。如果你不需要svg,可以在lime-icon里注释掉,lime-svg为APP原生插件,收费为1元,源码为5元。如果你需要svg,可以考虑一下购买。

// lime-icon/components/l-icon.uvue 第4行 注释掉即可。
<!-- <l-svg class="l-icon" :class="classes" :style="styles" :color="color" :src="iconUrl" v-else :web="web" @error="imageError" @load="imageload" @click="$emit('click')"></l-svg> -->

打赏

如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问