热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用vue实现自定义搜索功能

实现效果如:http:www.ligerui.comdemosfilterfilter.htm代码:

实现效果如:http://www.ligerui.com/demos/filter/filter.htm

代码:

<%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeBehind&#61;"WebForm2.aspx.cs" Inherits&#61;"WebApplication1.WebForm2" %>DOCTYPE html><html xmlns&#61;"http://www.w3.org/1999/xhtml">
<head runat&#61;"server"><meta http-equiv&#61;"Content-Type" content&#61;"text/html; charset&#61;utf-8" /><title>title><script src&#61;"https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script><style>.group {border: 1px solid gray;padding: 10px;margin: 10px;}style>
head>
<body><form id&#61;"app"><group v-bind:items&#61;"items">group><input type&#61;"button" name&#61;"name" value&#61;"获取值" v-on:click&#61;"getValue" />form>
body>
html>
<script>var indexs &#61; 1000;//定义一个组件,其实就是一组条件var component &#61; Vue.component("group", {props: ["items"],data: function () {return {}},methods: {addLine: function (event) {indexs&#43;&#43;;this.items.items.push({id: indexs,column: "Id",local: "equal",value: "1"});},addGroup:function(){indexs&#43;&#43;;this.items.items.push({id: 0,relation: "and",items: []});},removeLine: function (id) {for (var i &#61; 0; i < this.items.items.length; i&#43;&#43;) {if (this.items.items[i].id &#61;&#61;&#61; id) {console.log(this.items.items[i]);this.items.items.splice(i, 1);break;}}},removeGroup: function (id) {for (var i &#61; 0; i < this.items.items.length; i&#43;&#43;) {if (this.items.items[i].id &#61;&#61;&#61; id) {console.log(this.items.items[i]);this.items.items.splice(i, 1);break;}}}},template: &#39;

&#39;});var app &#61; new Vue({el: "#app",data: {items: {id: 0,relation: "and",items: [{id: 1,column: "Id",local: "equal",value: "1"}, {id: 2,column: "Id",local: "equal",value: "1"}, {id: 3,relation: "and",items: [{id: 4,column: "Id",local: "equal",value: "1"}]}]}},methods: {getValue: function () {console.log(this.items);}}});script>

最终运行效果如下&#xff1a;

 

讲解&#xff1a;

 1.经过分析&#xff0c;这个功能涉及到递归功能&#xff0c;于是我们拆分成了一个模块&#xff0c;一个查询组就定义成一个自定义组件group。

 2.自定义组件通过props定义父组件向子组件传递的值

 3.通过$emit触发当前组件的事件&#xff0c;并可以传递参数&#xff0c;当前组件的父级组件将绑定该事件

 4.v-on用于绑定事件&#xff0c;v-for循环节点&#xff0c;v-if判断为true才输出节点

 5.data不能是对象&#xff0c;只能是方法的返回&#xff0c;因为页面会引用多个组件&#xff0c;通过方法返回能确保数据的独立

 6.关于在自定义组件的template中写入html代码看起来不友好的问题&#xff0c;可以在网上搜索“vue x-template”进行修改。

 

二、关于template

如上&#xff0c;组件中&#xff0c;template写了很多html代码&#xff0c;阅读起来很不方便&#xff0c;然后vue中提供了如下两种方式

方式一&#xff1a;


 

方式二&#xff1a;


 


转载于:https://www.cnblogs.com/duanjt/p/10706574.html


推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • JS实现一键分享功能
    本文介绍了如何使用JS实现一键分享功能,并提供了2019独角兽企业招聘Python工程师的标准。同时,给出了分享到QQ空间、新浪微博和人人网的链接。 ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
  • document .ready中的函数怎么被按钮调用? ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
author-avatar
图片哪天能显示
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有