自动提示 Suggest

示例

基本形式

<suggest>
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>

文本框属性

<suggest maxlength="6" placeholder="输入时会自动提示">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>

只读,禁用,禁用某一项

<suggest readonly placeholder="只读">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
</suggest>
<suggest disabled placeholder="禁用">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
</suggest>
<suggest placeholder="禁用某一项">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread" disabled>bread</item>
</suggest>

开始提示位置

当输入长度>=startAt属性后开始提示。

<suggest startAt="2" placeholder="2字符后开始提示">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>

匹配方式

<suggest matchType="includes" placeholder="包括即可(默认)">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>
<suggest matchType="startsWith" placeholder="只匹配开头">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>
<suggest matchType="endsWith" placeholder="只匹配结尾">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>

严格模式

当为严格模式时,value属性必须为一个选项的值,否则为空。

<suggest placeholder="非严格模式(默认)">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>
<suggest strict placeholder="严格模式">
    <item value="abandon">abandon</item>
    <item value="about">about</item>
    <item value="absent">absent</item>
    <item value="bread">bread</item>
    <item value="break">break</item>
    <item value="brief">brief</item>
    <item value="calendar">calendar</item>
    <item value="cancel">cancel</item>
    <item value="column">column</item>
</suggest>

API

Class

Suggest

继承自ListView

Options

new Suggest()

参数类型默认值数据流向描述
dataobject绑定属性
data.valuestring''outside <=> inside文本框的值
data.typestring''outside => inside文本框的类型
data.sizestring''outside <=> inside文本框的尺寸
data.statestring''outside <=> inside文本框的状态
data.tipstring''outside <=> inside小贴示
data.rulesobject[][]outside => inside验证规则集
data.placeholderstring'请输入'outside => inside文本框的占位文字
data.maxlengthnumberoutside => inside文本框的最大长度
data.autofocusbooleanfalseoutside => inside是否自动获得焦点
data.startAtnumber0outside => inside开始提示位置。当输入长度>=该值后开始提示
data.matchTypestring'includes'outside => inside匹配方式,`includes`表示包含即可,`startsWith`表示只匹配开头,`endsWith`表示只匹配结尾
data.strictbooleanfalseoutside => inside是否为严格模式。当为严格模式时,`value`属性必须为一个选项的值,否则为空。
data.openbooleanfalseoutside <=> inside当前为展开/收起状态
data.directionstring'bottom-left'outside => inside展开方向
data.readonlybooleanfalseoutside => inside是否只读
data.disabledbooleanfalseoutside => inside是否禁用
data.visiblebooleantrueoutside => inside是否显示
data.classstring''outside => inside补充class

Methods

suggest.select(item)

选择某一项

参数类型默认值描述
itemItem选择项
返回值类型描述
无返回值

Events

suggest.$on('change')

文本框的值改变时触发

属性类型描述
senderobject事件发送对象
valuevar改变后的值

suggest.$on('select')

选择某一项时触发

属性类型描述
senderobject事件发送对象
selectedItem当前选择项
valuevar当前选择值

suggest.$on('toggle')

展开/收起时触发

属性类型描述
senderobject事件发送对象
openboolean展开/收起状态
directionstring展开方向