You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在APEX中为同一表单设置不同的表单标题

实现表单标题随按钮切换的方案

核心思路是通过按钮的点击事件,动态修改表单标题的文本内容,以下是不同技术栈的具体实现方式:

原生JavaScript实现

HTML结构

<!-- 操作按钮 -->
<button id="createBtn">创建新行</button>
<button id="editBtn">编辑行</button>

<!-- 表单容器 -->
<div class="form-box">
  <h2 id="formTitle">表单标题</h2>
  <form>
    <input type="text" placeholder="输入内容">
    <button type="submit">提交</button>
  </form>
</div>

JavaScript逻辑

// 获取DOM元素
const createBtn = document.getElementById('createBtn');
const editBtn = document.getElementById('editBtn');
const formTitle = document.getElementById('formTitle');
const form = document.querySelector('form');

// 创建按钮点击事件
createBtn.addEventListener('click', () => {
  formTitle.textContent = 'create new row';
  form.reset(); // 重置表单,清除编辑残留数据
});

// 编辑按钮点击事件
editBtn.addEventListener('click', () => {
  formTitle.textContent = 'Edit row';
  // 此处可添加逻辑:将待编辑行的数据填充到表单中
  // 示例:document.querySelector('input').value = 待编辑内容;
});

Vue3实现

<template>
  <div>
    <button @click="switchToCreate">创建新行</button>
    <button @click="switchToEdit">编辑行</button>

    <div class="form-box">
      <h2>{{ formTitle }}</h2>
      <form>
        <input type="text" v-model="formData.content" placeholder="输入内容">
        <button type="submit">提交</button>
      </form>
    </div>
  </div>
</template>

<script setup>
import { ref } from 'vue';

// 响应式变量控制标题和表单数据
const formTitle = ref('');
const formData = ref({ content: '' });

// 切换到创建状态
const switchToCreate = () => {
  formTitle.value = 'create new row';
  formData.value.content = ''; // 重置表单
};

// 切换到编辑状态
const switchToEdit = () => {
  formTitle.value = 'Edit row';
  // 此处可添加逻辑:从数据源获取待编辑数据并填充
  // 示例:formData.value.content = 待编辑内容;
};
</script>

React实现

import { useState } from 'react';

function FormComponent() {
  const [formTitle, setFormTitle] = useState('');
  const [formData, setFormData] = useState('');

  // 创建按钮点击处理
  const handleCreate = () => {
    setFormTitle('create new row');
    setFormData(''); // 重置表单
  };

  // 编辑按钮点击处理
  const handleEdit = () => {
    setFormTitle('Edit row');
    // 此处可添加逻辑:获取待编辑数据并填充到表单
    // 示例:setFormData(待编辑内容);
  };

  return (
    <div>
      <button onClick={handleCreate}>创建新行</button>
      <button onClick={handleEdit}>编辑行</button>

      <div className="form-box">
        <h2>{formTitle}</h2>
        <form>
          <input
            type="text"
            value={formData}
            onChange={(e) => setFormData(e.target.value)}
            placeholder="输入内容"
          />
          <button type="submit">提交</button>
        </form>
      </div>
    </div>
  );
}

export default FormComponent;

内容的提问来源于stack exchange,提问作者iamstilllearning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:07:13