<template>
  <div class="todo-header">
    <input type="text" placeholder="请输入你的任务名称，按回车确认" v-model="title" @keyup.en.enter="add">
  </div>
</template>

<script>
import {nanoid} from "nanoid"

export default {
  name: "TodoHeader",
//  props: ['addTodo'], 改用自定义组件实现，不用再接收复组件传递的方法
  data() {
    // 初始化title已显示placeholder内容
    return {
      title: ''
    }
  },
  methods: {
    // 添加todo任务，trim用户输入数据后判断是否为空，如果内容正常则生成任务的对象数据
    // 将任务的对象数据回写到App中的todo中
    add() {
      if (!this.title.trim()) return alert("输入不能为空")
      const todoObj = {id: nanoid(), title: this.title, done: false}
      // this.addTodo(todoObj)  // 改用emit触发自定义事件
      this.$emit('addTodo', todoObj)
      this.title = ''
    }
  }

}
</script>

<style scoped>
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}
</style>