如何在 Vue 2 中重用模板?

Vee*_*383 3 vue-component vuejs2

我有两种形式(添加和编辑)。两个表单中的所有字段都完全相同(即模板相同)。这两种形式都可以通过各自的按钮从主页访问。如何为添加表单编辑表单重用单个 Vue 模板?

我正在用 TypeScript 编写基于类的组件。

Sle*_*ren 6

您可以创建一个称为customform或其他名称的组件,然后声明将传递到组件中的道具以指定它的类型(编辑表单,创建表单)然后在表单中您需要编写逻辑,如下所示:

<customForm :edit="true" :create="false" :data="data"></customForm>
Run Code Online (Sandbox Code Playgroud)

然后在表单组件中:

<template>
  <form class="customform">
    <div class="row">
      <label>Email: </label><input type="text" value="{{data.email || ''}}">
    </div>
  </form>
</template>

<script>
export default {
  props: {
    edit: {
      type: Boolean,
      default: false
    },
    create: {
      type: Boolean,
      default: false
    },
    data: {}
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

想法是能够使用道具呈现表单(例如,如果编辑为真,那么您将必须注入值并更改表单的操作,如果创建,则字段的值将为空,操作将是不同的......等)