首页
学习
活动
专区
圈层
工具
发布

【react-dnd使用总结一】拖放完成后获取放置元素在drop容器中的相对位置

工具函数-根据元素的起始位置和最终位置,计算相对于某元素的位置 export interface IPosition { left: number; top: number; } /** *...根据元素的其实位置和最终位置,计算相对于某元素的位置 * @param initialPosition 拖动元素相对于屏幕左上角的起始位置(偏移量) * @param finalPosition 拖放完成后当前节点相对于屏幕左上角的位置...: any, finalPosition: any, containerEle: HTMLDivElement, ): IPosition => { // 获取容器的位置信息 rect 信息包含...回调函数中 drop(target: any, monitor: DropTargetMonitor) { console.log(target, monitor); const position...) monitor.getSourceClientOffset(), // 拖放完成后当前节点相对于屏幕左上角的位置 document.querySelector('#container

5.9K10

全栈工程师开发实战之从入门到技术实战之02--vue指令

v-on:事件名称 =‘函数名称()’ 表达式可以是一个方法的名字或一个内联语句 简写语法:@事件名称 =‘函数名称()’ 注意:函数定义在 methods 配置项中 自动的将vue实例的值同步更新到表单中,同样的也会把表达中的值同步到vue实例中。 这就是双向数据绑定。...event事件对象: 如果调用函数时不传递参数,那么在函数中可以直接使用e来表示事件对象,但是如果进行参数的传递,在函数内部就无法再使用e了,此时 vue中给我们提供了一个 $event 来表示时间对象...指令完成对应数据的绑定 填写的表单内容可以显示在表单下方 案例2—点击重新编辑 需求说明 点击“Edit Me”,下方出现文本框,可以自行修改文本 输入框中的文字和页面中的文字保持一致 使用...v-show、v-on、v-model 指令 案例3—仿京东左侧菜单 需求说明 完成京东左侧菜单的页面布局 使用 v-for 指令遍历子分类名称,从而显示子分类的列表 案例4—导航切换 需求说明

74810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端工程师之vue指令解析

    v-on:事件名称 =‘函数名称()’ 表达式可以是一个方法的名字或一个内联语句 简写语法:@事件名称 =‘函数名称()’ 注意:函数定义在 methods 配置项中 在组件的 data 选项中声明初始值。 v-model说白了就像监听器一样,会自动的将vue实例的值同步更新到表单中,同样的也会把表达中的值同步到vue实例中。...event事件对象: 如果调用函数时不传递参数,那么在函数中可以直接使用e来表示事件对象,但是如果进行参数的传递,在函数内部就无法再使用e了,此时 vue中给我们提供了一个 $event 来表示时间对象...指令完成对应数据的绑定 填写的表单内容可以显示在表单下方 案例2—点击重新编辑 需求说明 点击“Edit Me”,下方出现文本框,可以自行修改文本 输入框中的文字和页面中的文字保持一致 使用 v-show...,从而显示子分类的列表 案例4—导航切换 需求说明: 点击导航条中的导航项目,当前被点击的项目内容会显示在下方绿色方块中,并且当前被点击项目的背景会变成红色 使用 v-for 指令遍历显示导航项目,使用

    84310

    用 Javascript 和 Node.js 爬取网页

    Javascript 中,match() 通常返回一个数组,该数组包含与正则表达式匹配的所有内容。...为了展示 Cheerio 的强大功能,我们将尝试在 Reddit 中抓取 r/programming 论坛,尝试获取帖子名称列表。...然后在浏览器的 Dev Tools 帮助下,可以获得可以定位所有列表项的选择器。如果你使用过 JQuery,则必须非常熟悉 $('div> p.title> a')。...这将得到所有帖子,因为你只希望单独获取每个帖子的标题,所以必须遍历每个帖子,这些操作是在 each() 函数的帮助下完成的。...要从每个标题中提取文本,必须在 Cheerio 的帮助下获取 DOM元素( el 指代当前元素)。然后在每个元素上调用 text() 能够为你提供文本。

    11.2K10

    教育平台项目前端:Vue.js 入门

    > {{}} 插值表达式:通常用来获取 Vue.js 实例中定义的数据(data);属性节点中不能够使用插值表达式。...el 挂载点:定义 Vue.js 实例挂载的元素节点,表示 vue.js 接管该区域。 Vue 的作用范围 :Vue 会管理 el 选项中的元素及其内部元素。...-- 在 li 标签中获取数组的元素 --> {{index+1}}城市:{{item}} 使用,数组有两个常用方法:push() 向数组末尾添加一个或多个元素;shift() 把数组中的第一个元素删除 语法是: (item, index) in 数据 item 和 index...(根据索引删除元素) 在 methods 中添加一个删除的方法,使用 splice 函数进行删除 统计操作 统计页面信息的个数,就是列表中的元素的个数 获取 list 数组的长度,就是信息的个数 清空数据

    4.7K10

    前端基础知识总结

    dom对象添加子对象 each是对数组,json和dom数组等的遍历,对每个元素调用一次处理函数 $.each(循环的内容,处理函数):表示使用jQuery的each,循环数组,每个数组成员都会执行后面的处理函数一次...对象,注意:jQuery表示的对象都是数组 var jobj = $("#txt1") jobj就是使用jQuery语法表示的对象,是jQuery对象,也是数组,现在数组中就一个值 dom对象可以和jquery...dom和jQuery的转换 目的是要使用对象的方法或者属性 当dom对象时,可以使用dom对象的属性或者方法,要想使用jQuery提供的函数,必须要是jQuery对象才行 命名建议:在命名jQuery对象时...使用jQuery的语法获取页面的dom对象 // var obj = $("#txt")[0] //从数组中获取下标是0的dom对象 .get(0) 也可以 var obj = $("#txt...辅助性文字只能存放单行文本,会自动换行显示。 message组件 注意:这个组件的创建无需在页面中书写任何标签,是一个js插件,在需要展示消息提示的位置直接调用提供的js插件方法即可。

    1.9K50

    记一次jsoup的使用

    Jsoup它解析HTML成为真实世界的HTML。它与jquery选择器的语法非常相似,并且非常灵活容易使用以获得所需的结果。 安装-运行时依赖关系 <!...g)]; *: 这个符号将匹配所有元素; Selector选择器组合使用 el#id: 元素+ID,比如: div#logo; el.class: 元素+class,比如: div.masthead...: 查找A元素之前的同级X元素,比如:h1 ~ p; el, el, el:多个选择器组合,查找匹配任一选择器的唯一元素,例如:div.masthead, div.logo; 伪选择器selectors...:lt(n): 查找哪些元素的同级索引值(它的位置在DOM树中是相对于它的父节点)小于n,比如:td:lt(3) 表示小 于三列的元素 :gt(n):查找哪些元素的同级索引值大于n,比如...logo) 表示不包含 class="logo" 元素的所有 div 列表 :contains(text): 查找包含给定文本的元素,搜索不区分大不写,比如:p:contains(jsoup)

    1.9K30

    vuejs中的组件以及父子组件间通信传值

    v-if:值的类型任何,根据表达式的值的真假条件渲染元素,表达式中的值为false是,该元素会从dom中移除 官方解释:在切换时元素及它的数据绑定 / 组件被销毁并重建。...使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素,要注意与on写法上的区别 on() 方法在被选元素及子元素上添加一个或多个事件处理程序,使用on方法时,注意使用...remove方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。...但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除 empty:删除匹配的元素集合中所有的子节点,清空的是内容 */ 对于上面的jQuery使用on对元素进行事件监听绑定的时候...,而index代表的是索引,in 后面的是数据中的数组名 从上面的效果中看出,在我们每次进行表单输入值,点击添加按钮添加事件操作时,页面中都会新增出现一条列表项,而且每个列表项在结构样式上都是相似的,那么我们就可以把这个列表项封装成一个组件的

    21.9K10

    Vue.js知识点整理

    无需编写js,就可以在html上执行部分程序的操作。所以,可简化js程序的编写,避免大量重复编码 Model:模型,指程序中创建的或从服务端获取的数据,一般用JS中的一个对象来保存。...• 原理 • of可自动遍历数组/对象,并取出数组/对象中每个元素的值(value)和下标(i)保存到左边的变量中 • v-for,每遍历数组或对象中一个成员,就会创建一个当前HTML元素的副本。...• VUE只负责自动移除v-cloak属性,所以v-cloak不能改名 • v-text:使用模型数据替换当前元素的innerText • 元素 v-text="变量或js表达式">元素> • 将原本用...DOM元素执行原生的DOM操作 }})强调: 因为指令不是只给一个页面或一个功能添加的,应该是所有Vue的对象都可使用.所以,应该是数组Vue大家庭的.所以创建时,要用Vue.directive()来创建...router.js中或router/index.js中的路由列表routes数组里,需要懒加载的路由地址 不要过早import,应该是在路由首次被访问到时,才import { path: '/about

    1.4K10

    Jsoup介绍及解析常用方法

    它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据 jsoup的主要功能如下: 从一个URL,文件或字符串中解析HTML; 使用DOM或CSS...g)] 以上是最基本的选择器语法,这些语法也可以组合起来使用 组合用法 el#id 定位id值某个元素,例如 a#logo -> el.class...定位 class 为指定值的元素,例如 div.head -> xxxx el[attr] 定位所有定义了某属性的元素,例如 a[href] 以上三个任意组合...例如 a[href]#logo 、a[name].outerlink 除了一些基本的语法以及这些语法进行组合外,jsoup 还支持使用表达式进行元素过滤选择 :lt(n) 例如...元素的所有 div 列表 :contains(text) 包含某文本的元素,不区分大小写,例如 p:contains(oschina) :containsOwn(text) 文本信息完全等于指定条件的过滤

    2.1K20

    前端三大框架之Vue-day02

    复选框 checkbox 这种的组合时 data 中的 hobby 我们要定义成数组 否则无法实现多选 <!...-- 使用自定义的指令,只需在对用的元素中,加上'v-'的前缀形成类似于内部指令'v-if','v-text'的形式。...created 在实例创建完成后被立即调用此时data 和 methods已经可以使用 但是页面还没有渲染出来 beforeMount 在挂载开始之前被调用 此时页面上还看不到真实数据 只是一个模板页面而已...reverse() reverse() 将数组倒序,成功返回倒序后的数组 替换数组 不会改变原始数组,但总是返回一个新数组 filter filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素...concat concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组 slice slice() 方法可从已有的数组中返回选定的元素。

    2K30

    Vue 相关学习笔记(一)

    复选框 checkbox 这种的组合时 data 中的 hobby 我们要定义成数组 否则无法实现多选 的复选框选中 hobby: ['2', '3'], }, }) 获取下拉框和文本框中的值...created 在实例创建完成后被立即调用此时data 和 methods已经可以使用 但是页面还没有渲染出来 beforeMount 在挂载开始之前被调用 此时页面上还看不到真实数据 只是一个模板页面而已...reverse() reverse() 将数组倒序,成功返回倒序后的数组 替换数组 不会改变原始数组,但总是返回一个新数组 filter filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素...concat concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组 slice slice() 方法可从已有的数组中返回选定的元素。

    8.2K20

    懂个锤子Vue

    并不会让新手难以上手影响开发声明式渲染: 使用简洁的模板语法来描述应用程序的UI结构,Vue会自动处理数据与视图之间的关系,以达到数据驱动视图更新的效果组件化应用: 通过组合可重用的组件来构建应用程序,...属性来控制元素的显示和隐藏,元素会隐藏,但仍然存在于DOM中~v-if: 也是控制元素显示|隐藏,与 v-show 不同,v-if 是真正的条件渲染,根据表达式的值来添加或移除元素; 表达式的值为真...:在Vue.js中,v-for是一个用于基于数组渲染列表的指令: 它允许你遍历数组或对象,并为每个项生成模板中的元素;语法:(item, index) in arr: arr 是被遍历的数组、item...,绑定的数据会自动更新;反之,当更新数据时,输入框的内容也会相应变化;这样,无论何时更改输入框中的内容,v-model属性都会实时更新,属性的值在其他地方被更改,输入框中的内容也会立即反映这个变化;v-model...其他表单元素的使用:常见的表单元素都可以用 v-model 绑定关联 → 快速 获取 或 设置 表单元素的值它会根据 控件类型 自动选取 正确的方法 来更新元素:关于单选按钮:name 给单选框加上

    60110

    jQuery 教程

    class,.class $(“.intro,.demo”) class 为 “intro” 或 “demo” 的所有元素 element $(“p”) 所有 元素 el1,el2,el3 $(...() 方法完成后显示一个提示框。...() 指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回 $.merge() 合并两个数组内容到第一个数组 $.noop() 一个空函数 $.now() 返回当前时间 $....方法 描述 $.Callbacks() 一个多用途的回调列表对象,用来管理回调函数列表 callbacks.add() 在回调列表中添加一个回调或回调的集合 callbacks.disable() 禁用回调列表中的回调函数...() 锁定当前状态的回调列表 callbacks.locked() 判断回调列表是否被锁定 callbacks.remove() 从回调列表中的删除一个回调或回调集合 jQuery 延迟对象 在jQuery

    21.1K20

    JQuery最全常用方法指南

    map(callback) 将jQuery对象中的一组元素利用callback方法转换其值,然后添加到一个jQuery数组中。 not(expr) 从匹配的元素集合中删除与指定的表达式匹配的元素。...slice(start, [end]) 从匹配元素集合中取得一个子集,和内建的数组的slice方法相同。 add(expr) 把与表达式匹配的元素添加到jQuery对象中。....innerHTML; 3、如何获取jQuery集合的某一项 对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而...对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个 元素的内容。...使用jquery中的jQuery.noConflict(); 方法即可把变量$的控制权让渡给第一个实现它的那个库或之前自定义的$方法。

    13.2K31

    JQuery选择器和JQuery包装集

    (本文年代久远,请谨慎阅读)今天学习了JQuery的一些基本用法,包括JQuery选择器和JQuery包装集; 从现在开始,要慎重区分DOM对象和JQuery对象,两种对象的方法不同,属性不同,在使用中要特别注意...在DOM编程中我们只能使用有限的函数根据id或者TagName获取DOM对象。...而在JQUERY中则完全不同,JQUERY提供了异常强大的选择器用来帮助我们获取页面上的对象,并且将对象以JQUERY包装集的形式返回。 "$"符号在JQUERY中代表对JQUERY框架集的引用。...在使用JQUERY时,当 DOM(文档对象模型) 已经加载完成时,就会发生 ready 事件。...由于该事件在文档就绪后发生,因此把所有其他的 JQUERY事件和函数置于该事件中是非常好的做法。

    4.4K20

    前端之Vue.js库的使用

    v-bind指令来设置元素的class属性或者sytle属性,它们的属性值可以是表达式,vue.js在这一块做了增强,表达式结果除了是字符串之外,还可以是对象或者数组。... 列表渲染 通过v-for指令可以将一组数据渲染到页面中,数据可以是数组或者对象,v-for 指令需要使用 item in items 形式的特殊语法,items 是源数据数组并且 item...是数组元素迭代的别名。...定义一个全局指令,让input框自动获取焦点 Vue.directive('focus',{ inserted:function(el,binding){ el.focus(); el.style.background...new Vue({ el: '#example' })   data 必须是函数 组件就是vue的实例,所有vue实例中属性和方法,组件中也可以用,但是data属性必须是一个函数,因为组件会重复使用在多个地方

    5.8K30

    Vue 2.X 文档阅读笔记一 (基础)

    通过在表达式中调用方法可以达到和计算属性一样的结果获取,但是每当触发重新渲染时,调用方法总会再次执行。...在vue中由于它们都是属性,所以可以通过v-bind来处理:通过表达式计算出相应结果即可,结果类型可以是字符串、对象或数组。...②.数组语法 也可以将一个数组传给v-bind:class以应用一个class列表;如果想根据条件来切换列表的class,可以使用三元表达式,当判断逻辑较复杂时可以在数组中使用对象语法。...比如当用户在不同登录场景切换时,切换出来的input输入框中已输入的内容不会被替换,因为vue使用的是同一个input元素,这样是为了提高渲染效率。...当组件的prop列表数量过多或复杂时,可以重构porp列表,改为只接受一个单独的prop特性,这个prop特性应该是一个包含多个元素的复杂数据结构,例如对象或包含对象元素的数组。

    4.5K70
    领券