WordPress

推荐列表 站点导航

当前位置:首页 > 建站教程 > WordPress >

Vue文本模糊匹配功能如何实现

来源:网络整理  作者:  发布时间:2020-12-19 05:08
模糊匹配功能在下拉菜单的组件中用的非常多,于是打算写几个demo看看细节上是如何实现的。一、最简单的模糊匹配...

el: '#app',

*/

<head>

全局注册了my-select组件后,可以删除app里的message数据,使用v-show来控制选项的显示,运行效果和计算属性方式相同。缺点就是无法单文件化(刚学vue没多久,不知道怎么在单文件里使用作用域插槽,试过直接把template里的东西封装成my-option好像并不管用)

</head>

<div>

一、最简单的模糊匹配:计算属性

*/

* @param {string} eventName 事件名

return {

return this.options.filter(option => option.includes(this.message))

最后,通过设置查询条件来控制子组件的显示与隐藏即可实现实时模糊搜索。

<title>Document</title>

<script src="https://www.wpmee.com/vue.js"></script>

首先需要一个emitter文件:

* @param {...any} params 事件参数

</html>  

this.$parent.$emit(eventName, ...params)

<li v-for="(option, index) in options" :key="index" v-show="option.includes(message)">{{ option }}</li>

* @param {string} eventName 事件名

<html lang="zh-CN">

模糊匹配功能在下拉菜单的组件中用的非常多,于是打算写几个demo看看细节上是如何实现的。

<script>

<div>

* @param {string} componentName 父组件名

<ul>

computed: {

}

}

broadcast(componentName, eventName, ...params) {

<script src="https://www.wpmee.com/vue.js"></script>

</script>

<title>Document</title>

<input type="text" v-model="message">

}

options: ['html', 'css', 'javascript']

if (this.$parent) {

</div>

<input type="text" v-model="message">

* @param {string} componentName 子组件名

function _dispatch(componentName, eventName, ...params) {

二、使用作用域插槽实现

_dispatch.call(this, componentName, eventName, ...params)

<li v-for="(option, index) in matchedOptions" :key="index">{{ option }}</li>

<script>

<!DOCTYPE html>

if (child.$options.name === componentName) {

}

_dispatch.call(this.$parent, componentName, eventName, ...params)

</div>

})

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

<div>

<body>

}

</ul>

* 子组件广播事件

}

}  

data: {

Vue文本模糊匹配功能如何实现 (https://www.wpmee.com/) javascript教程 第2张

</html>  

})

}

new Vue({

*/

template: `

三、混入广播和派发方法在独立组件中实现模糊匹配

<meta http-equiv="X-UA-Compatible" content="ie=edge">

child.$emit(eventName, ...params)

message: '',

}

<head>

`,

if (this.message !== '') {

* 父组件派发事件

注意,这里的$children和$parent都是指具有dom父子关系的vue组件。

new Vue({

<slot :message="message"></slot>

使用插槽主要是为了使该功能组件化:在select组件中插入option,然后option通过作用域插槽从select中获取文本值:

</body>

matchedOptions() {

</my-select>

})

methods: {

Vue.component('my-select', {

</div>

<!DOCTYPE html>

}

<meta charset="UTF-8">

dispatch(componentName, eventName, ...params) {

el: '#app',

_broadcast.call(this, componentName, eventName, ...params)

<meta content="width=device-width, initial-scale=1.0">

/**

<meta charset="UTF-8">

data: {

</script>

<my-select>

options: ['html', 'css', 'javascript']

if (this.$parent.$options.name === componentName) {

<html lang="zh-CN">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

return this.options

</body>

<meta content="width=device-width, initial-scale=1.0">

<template #default="{ message }">

data() {

export default {

* mixin

function _broadcast(componentName, eventName, ...params) {

</ul>

* @param {...any} params 事件参数

}

}

</template>

_broadcast.call(child, componentName, eventName, ...params)

}

},

</head>

})

this.$children.forEach(child => {

/**

/**

在上面的例子中,计算属性matchedOptions会在文本框内容message变化时筛选options里的数据,效果图如下所示:

<body>

},

message: ''

Vue文本模糊匹配功能如何实现 (https://www.wpmee.com/) javascript教程 第1张

<ul>

相关热词: 功能

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jz/wp/5475.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Vue文本模糊匹配功能如何实现

2020-12-19 编辑:

el: '#app',

*/

<head>

全局注册了my-select组件后,可以删除app里的message数据,使用v-show来控制选项的显示,运行效果和计算属性方式相同。缺点就是无法单文件化(刚学vue没多久,不知道怎么在单文件里使用作用域插槽,试过直接把template里的东西封装成my-option好像并不管用)

</head>

<div>

一、最简单的模糊匹配:计算属性

*/

* @param {string} eventName 事件名

return {

return this.options.filter(option => option.includes(this.message))

最后,通过设置查询条件来控制子组件的显示与隐藏即可实现实时模糊搜索。

<title>Document</title>

<script src="https://www.wpmee.com/vue.js"></script>

首先需要一个emitter文件:

* @param {...any} params 事件参数

</html>  

this.$parent.$emit(eventName, ...params)

<li v-for="(option, index) in options" :key="index" v-show="option.includes(message)">{{ option }}</li>

* @param {string} eventName 事件名

<html lang="zh-CN">

模糊匹配功能在下拉菜单的组件中用的非常多,于是打算写几个demo看看细节上是如何实现的。

<script>

<div>

* @param {string} componentName 父组件名

<ul>

computed: {

}

}

broadcast(componentName, eventName, ...params) {

<script src="https://www.wpmee.com/vue.js"></script>

</script>

<title>Document</title>

<input type="text" v-model="message">

}

options: ['html', 'css', 'javascript']

if (this.$parent) {

</div>

<input type="text" v-model="message">

* @param {string} componentName 子组件名

function _dispatch(componentName, eventName, ...params) {

二、使用作用域插槽实现

_dispatch.call(this, componentName, eventName, ...params)

<li v-for="(option, index) in matchedOptions" :key="index">{{ option }}</li>

<script>

<!DOCTYPE html>

if (child.$options.name === componentName) {

}

_dispatch.call(this.$parent, componentName, eventName, ...params)

</div>

})

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

<div>

<body>

}

</ul>

* 子组件广播事件

}

}  

data: {

Vue文本模糊匹配功能如何实现 (https://www.wpmee.com/) javascript教程 第2张

</html>  

})

}

new Vue({

*/

template: `

三、混入广播和派发方法在独立组件中实现模糊匹配

<meta http-equiv="X-UA-Compatible" content="ie=edge">

child.$emit(eventName, ...params)

message: '',

}

<head>

`,

if (this.message !== '') {

* 父组件派发事件

注意,这里的$children和$parent都是指具有dom父子关系的vue组件。

new Vue({

<slot :message="message"></slot>

使用插槽主要是为了使该功能组件化:在select组件中插入option,然后option通过作用域插槽从select中获取文本值:

</body>

matchedOptions() {

</my-select>

})

methods: {

Vue.component('my-select', {

</div>

<!DOCTYPE html>

}

<meta charset="UTF-8">

dispatch(componentName, eventName, ...params) {

el: '#app',

_broadcast.call(this, componentName, eventName, ...params)

<meta content="width=device-width, initial-scale=1.0">

/**

<meta charset="UTF-8">

data: {

</script>

<my-select>

options: ['html', 'css', 'javascript']

if (this.$parent.$options.name === componentName) {

<html lang="zh-CN">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

return this.options

</body>

<meta content="width=device-width, initial-scale=1.0">

<template #default="{ message }">

data() {

export default {

* mixin

function _broadcast(componentName, eventName, ...params) {

</ul>

* @param {...any} params 事件参数

}

}

</template>

_broadcast.call(child, componentName, eventName, ...params)

}

},

</head>

})

this.$children.forEach(child => {

/**

/**

在上面的例子中,计算属性matchedOptions会在文本框内容message变化时筛选options里的数据,效果图如下所示:

<body>

},

message: ''

Vue文本模糊匹配功能如何实现 (https://www.wpmee.com/) javascript教程 第1张

<ul>

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jz/wp/5475.shtml

相关文章

风云图片

推荐阅读

返回WordPress频道首页