Vue TodoList 解析 3.编辑TodoList内容

一 、todolist编辑修改

双击todolist弹出Input框,供编辑修改。

1、todolist双击设置动作
  1. 给 checkbox,label,button(close)外套一个div层,编辑时可隐藏,样式名称为view
  2. 给label元素增加动作 @dblclick(todo)="editTodo(todo)"
  3. 在methods中增加editTodo对应方法
this.beforeEditCache=todo.title
this.editedTodo=todo 

第一行:把当前内容缓存,如不保存可取回。第二行的this.editedTodo=todo 当双击label元素后,把todo赋值给editedTodo,这样li元素中的editing样式 todo == editedTodo判断条件为真,对应的样式生效。view div隐藏,input编辑框显示。

对应的CSS样式表如下,.todo-list li.editing .edit是个完整的名称,条件为假时,缺少中间的li.editing,即匹配不到该样式。

.todo-list li.editing .edit {
    display: block;
    width: 506px;
    padding: 12px 16px;
    margin: 0 0 0 43px;
}

.todo-list li.editing .view {
    display: none;
}
2、增加input框供修改
  1. input框中增加双向绑定v-model="todo.title"读取内容,并设置样式为edit,该样式默认为隐藏。待双击lable框后显示。
    修改框input的样式edit和输入框input的样式new-todo一样
.new-todo,
.edit {
    position: relative;
    margin: 0;
    width: 100%;
    font-size: 24px;
    font-family: inherit;
    font-weight: inherit;
    line-height: 1.4em;
    border: 0;
    color: inherit;
    padding: 6px;
    border: 1px solid #999;
    box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

再增加一个edit默认隐藏

.todo-list li .edit {
    display: none;
}
  1. input框设置动作@blur=“doneEdit(todo)”input框失去焦点完成输入
    @keyup.enter="doneEdit(todo)"按键回车完成输入
    @keyup.ecs="cancelEdit(todo)"按键ecs取消输入

在methods中增加以上方法
doneEdit完成输入函数中:this.editedTodo=null ,todo.title=todo.title
cancelEdit取消输入函数中: todo.title=this.beforeEditCache, this.editedTodo=null

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一节:初识Angular-CLI第二节:登录组件的构建第三节:建立一个待办事项应用第四节:进化!模块化你的应用第...
    接灰的电子产品阅读 13,714评论 64 25
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,224评论 4 61
  • 这是vue官网的一个例子,挺适合作为vue应用的入门的。通过这个应用,我们能学到vue的【双向绑定】,【v-for...
    进击的前端阅读 10,090评论 3 33
  • 你送的青梳 在掉下几根寥寥白发后 断齿了 我的琴弦 在手中被拨弄音符 也凌乱了 既然离别的人没说再见 你也不用为没...
    山屈生阅读 282评论 0 1
  • [究竟是什么在决定价格?2017.03.20留言]. 让我们重新认识需求。 昨天我的预测是:是稀缺性、依赖性、表现...
    早知今日阅读 210评论 0 1