按钮

关于react hooks

情到浓时终转凉″ 提交于 2020-01-19 00:08:17
一、react的组件 react的核心是组件,react有两种组件类:有状态组件(class)和无状态组件(function)。 有状态组件(class)常常使代码变的冗余而复杂,例如下面一个简单的button组件: import React, { Component } from "react"; export default class Button extends Component { constructor() { super(); this.state = { buttonText: "Click me, please" }; this.handleClick = this.handleClick.bind(this); } handleClick() { this.setState(() => { return { buttonText: "Thanks, been clicked!" }; }); } render() { const { buttonText } = this.state; return <button onClick={this.handleClick}>{buttonText}</button>; } } 可以看出代码已经很重了。 Redux 的作者 Dan Abramov 总结 了组件类的几个缺点。 大型组件很难拆分和重构,也很难测试。

一起学Vue之事件处理

假如想象 提交于 2020-01-18 23:47:06
在Vue进行前端开发中,事件监听是必不可少的功能,本文通过简单的小例子,简述v-on的简单用法,仅供学习分享使用,如有不足之处,还请指正。 监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。如下所示: 1 <button v-on:click="counter += 1">Add 1</button> 2 <p>按钮被点击了 {{ counter }} 次.</p> 其中counter为Vue自定义的一个属性值。 事件处理方法 事实上,许多事件处理逻辑会更为复杂,所以直接把 JavaScript 代码写在 v-on 指令中是不可行的。因此 v-on 还可以接收一个需要调用的方法名称。如下所示: 1 <button v-on:click="greet">Greet</button> greet 是在下面定义的方法名。如下所示: 1 <script type="text/javascript"> 2 var app=new Vue({ 3 el:'#app', 4 data:{ 5 msg:'hello world!!!', 6 counter:0, 7 name: 'Vue.js' 8 }, 9 // 在 `methods` 对象中定义方法 10 methods:{ 11 greet: function (event) { 12 //

iframe之局部刷新

﹥>﹥吖頭↗ 提交于 2020-01-18 22:00:45
例如: <iframe src="1.htm" name="ifrmname" id="ifrmid"></iframe> 方案一:用iframe的name属性定位 <input type="button" name="Button" value="Button" onclick="document.frames('ifrmname').location.reload()"> 或 <input type="button" name="Button" value="Button" onclick="document.all.ifrmname.document.location.reload()"> 方案二:用iframe的id属性定位 <input type="button" name="Button" value="Button" onclick="ifrmid.window.location.reload()"> 方案三:当iframe的src为其它网站地址(跨域操作时) <input type="button" name="Button" value="Button" onclick="window.open(document.all.ifrmname.src,'ifrmname','')"> 方案四:通过和替换iframe的src来实现局部刷新 可以用document

JavaScript三种书写形式

纵然是瞬间 提交于 2020-01-18 21:50:30
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <!--1、行内JS--> <button οnclick="alert('aaa');">点我</button> <a href="javascript:alert('aaa');">点我</a> <!--2、页内JS--> <script type="text/javascript"> window.onload = function(){ alert("aaa"); } </script> </body> </html> 3、外部JS 需要通过src属性引入<script type="text/javascript" src = ""></script> 来源: CSDN 作者: crystal--- 链接: https://blog.csdn.net/qzcrystal/article/details/104033221

opencv+tkinter制作HsvMaster(一)

Deadly 提交于 2020-01-18 18:56:29
这两天看opencv-python的HSV色彩空间,在写程序时发现用HSV来提取图像区域是件令人恶心的麻烦事。拿阈值分割做个对比,阈值最多也就一两个参数需要调整;但是HSV需要对三个通道调整上下限,也就是起码有6个参数。于是乎,就一时兴起决定做个小程序,把参数都做成滑动块,这样自然方便许多。一开始,想直接用opencv来做,但是百度了一下它没有很好的GUI支持。所以决定还是用python自带的tkinter来设计UI。 UI设计最重要的还是布局,之前学CSS就差点搞得我稀里糊涂。tkinter有三种布局方式,网上说grid是常用的,然而我用了一会,感觉这种excel类型的方法有点死板,唯一的好处是不用计算坐标,所以我布局滑块时就使用了grid,其他一律使用place。 我要的程序界面得划出两块地方显示图片,tkinter没有专用的控件,不过可以利用Lable的image属性来设置背景图片。并且,image属性对图片数据流的格式有所要求,得用PIL模块里的Image和ImageTk两个工具先对图片进行处理。在处理时,我还得对它大小限制一下,要不然不同图片导进来,布局就乱了。接下来就导入滑块和按钮,调一下布局罢了,没啥难度,就是审美得纠结一下。所有控件都导入以后,为了看起来不那么单调,本来想是给整个窗口加一个高雅的背景图的,但是当我把背景改成暗灰色以后,奇迹就发生了—

Odoo treeView列表视图详解

吃可爱长大的小学妹 提交于 2020-01-18 15:58:02
转载请注明原文地址: https://www.cnblogs.com/ygj0930/p/10826414.html TreeView:列表视图 1:<tree>标签的属性 【tree标签内的属性,就是界面上的表现、行为,可以通过视图继承,往tree标签增加属性来自定义tree视图的按钮。】 列表视图的根元素是 <tree> ,它可以有以下几种属性: 1)editable 默认情况下选择单行记录时会打开对应记录的表单,该属性让数据可以在列表内进行编辑,有效的值是top和bottom,可在列表的顶部或底部添加新记录。 2)default_order 重定义视图的排序规则, 以逗号分隔多个字段 ,可使用desc来进行倒序 <tree default_order="sequence,name desc"> 3)decoration-样式名 样式可为 bf加粗, it斜体 或 其他bootstrap样式如:danger红色, info, muted, primary, success绿色,warning橙色等等 , 值为python表达式 ,对每条记录执行相应表达式判断,当结果为true的时候将对应的样式应用。 也可以直接在标签的css样式值中使用表达式来动态设置,如设置颜色: colors="gray:state=='cancel';red:state=='audit';green

vue+bootstrap4+mybatis分页

馋奶兔 提交于 2020-01-18 15:02:40
先看效果 Springboot+Mybatis+Pagehelper分页具体实现略。 Controller返回数据 @GetMapping("/findByPage") public AjaxResult findByPage(@RequestParam("pageIndex") Integer pageIndex, @RequestParam("pageSize") Integer pageSize) { PageInfo<Article> articlePageInfo = articleService.findByPage(pageIndex, pageSize, Sort.DESC.getSort()); return AjaxResult.me().setResultObj(new HashMap<String, Object>(3) {{ put("total", articlePageInfo.getTotal()); put("list", articlePageInfo.getList()); put("pages", articlePageInfo.getPages()); }}); } js vue articles里有三个字段: total(数据不分页总条数,暂时无用,因为没有做具体页数的按钮), list(当前页数据), pages(分页总页数)

阿里巴巴SUI Mobile的使用

风流意气都作罢 提交于 2020-01-18 11:21:33
1.引入文件 <link rel="stylesheet" href="./css/sm.min.css"> <link rel="stylesheet" href="./css/sm-extend.min.css"> <script type='text/javascript' src='./lib/zepto/zepto.min.js' charset='utf-8'></script> <script type='text/javascript' src='./js/sm.min.js' charset='utf-8'></script> <script type='text/javascript' src='./js/sm-extend.min.js' charset='utf-8'></script> 2.调用模块 <div class="page-group"> <div class="page page-current"> <header class="bar bar-nav"> <a class="button button-link button-nav pull-left" href="/demos/card" data-transition='slide-out'> <span class="icon icon-left"></span> 返回 </a>

Bootstrap框架

不打扰是莪最后的温柔 提交于 2020-01-18 06:33:04
Bootstrap介绍 Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。 它是为实现快速开发Web应用程序而设计的一套前端工具包。 它支持响应式布局,并且在V3版本之后坚持移动设备优先。 为什么要使用Bootstrap? 在Bootstrap出现之前: 命名:重复、复杂、无意义(想个名字费劲) 样式:重复、冗余、不规范、不和谐 页面:错乱、不规范、不和谐 在使用Bootstrap之后: 各种命名都统一并且规范化。 页面风格统一,画面和谐。 Bootstrap下载 官方地址:https://getbootstrap.com 中文地址:http://www.bootcss.com/ 我们使用V3版本的Bootstrap,我们下载的是用于生产环境的Bootstrap。 Bootstrap环境搭建 目录结构: bootstrap-3.3.7-dist/ ├── css // CSS文件 │ ├── bootstrap-theme.css // Bootstrap主题样式文件 │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css // 主题相关样式压缩文件 │ ├── bootstrap-theme.min.css.map │ ├── bootstrap.css │ ├──

JS实现刷新iframe的方法

荒凉一梦 提交于 2020-01-18 04:17:14
<iframe src="1.htm" name="ifrmname" id="ifrmid"></iframe>    方案一:用iframe的name属性定位   <input type="button" name="Button" value="Button"   onclick="document.frames(ifrmname).location.reload()">   或   <input type="button" name="Button" value="Button"   onclick="document.all.ifrmname.document.location.reload()">    方案二:用iframe的id属性定位   <input type="button" name="Button" value="Button"   onclick="ifrmid.window.location.reload()">    终极方案:当iframe的src为其它网站地址(跨域操作时)   <input type="button" name="Button" value="Button"   onclick="window.open(document.all.ifrmname.src,ifrmname,)">