返回顶部
首页 > 资讯 > 精选 >Remix表单常用方法有哪些
  • 292
分享到

Remix表单常用方法有哪些

2023-07-05 16:07:45 292人浏览 薄情痞子
摘要

这篇文章主要介绍“Remix表单常用方法有哪些”,在日常操作中,相信很多人在Remix表单常用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Remix表单常用方法有哪些”的疑惑有所帮助!接下来,请跟

这篇文章主要介绍“Remix表单常用方法有哪些”,在日常操作中,相信很多人在Remix表单常用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Remix表单常用方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    Remix 的三种表单

    • 原生表单

    • Remix 提供的表单组件

    • Remix fetcher 表单

    回顾表单基础

    • 提交行为:enter 按键(只有一个 input type="txt")/使用具有 type=sumbit 的按钮

    • method 不指定时,fORM 默认使用 get 方法

    • form 提交后默认行为是跳转到 action 对应的页面

    • 表单的提交方式是 content-type = x-www-form-unlencoded

    表单提交的形式

    • 使用 html 标签属性,自动提交

    • 手动提交:钩子函数 sumit 提交方式, fetcher.sumbit 提交方式

    阻止跳转

    通常我们不希望提交表单后发生跳转行为:使用事件阻止函数进行阻止。

    const handleClick = (e) => { e.preventDefault()}

    Remix 提供的表单组件

    import { Form } from "@remix-run/React";

    一个简单的 demo

    import { JSON } from "@remix-run/node";import { Form } from "@remix-run/react";export async function action () {  let data = {    a: 'this is data'  }  return json({    ...data  })}export default function Index() {  return (    <div>      <div>Remix Form</div>      <Form method="post">        <input type="text" name="a-name-remix"/>        <button type="submit">submit-remix</button>      </Form>    </div>  );}

    注意:Form 组件没有定义 method 的时候,点击提交按钮没有任何效果。一般添加 method='post'。添加之后就可以正常提交 post 请求表单。

    使用钩子函数提交函数

    import { json } from "@remix-run/node";import { Form, useSubmit } from "@remix-run/react";export async function action () {  let data = {    a: 'this is data'  }  console.log(data)  return json({    ...data  })}export default function Index() {  const submit = useSubmit();  const handleClick = (e) => {    e.preventDefault()    submit(e.target, {      method: 'post'    })  }  return (    <div>      <div>Remix Form</div>      <Form onSubmit={handleClick}>        <input type="text" name="a-name-remix"/>        <button type="submit">submit-remix</button>      </Form>    </div>  );}

    注意手动提交之前先要阻止事件默认行为。

    Remix fetcher 表单

    一个简单的 demo

    import { json } from "@remix-run/node";import { useFetcher } from "@remix-run/react";export async function action () {  let data = {    a: 'this is data'  }  return json({    ...data  })}export default function Index() {  const fetcher = useFetcher();  return (    <div>      <div>Remix Form</div>      <fetcher.Form method="post">        <input type="text" name="a-name-remix"/>        <button type="submit">submit-remix</button>      </fetcher.Form>    </div>  );}

    Form 添加 post 方法,点击提交按钮,自动提交到当前 Route 模块中的 action 方法中。

    没有定义

    • method 属性

    • action 属性

    没有定义以上两个属性,提交代码的时候,提交函数不会执行

    使用 fetcher.submit 函数提交

    import { json } from "@remix-run/node";import { useFetcher } from "@remix-run/react";export async function action () {  let data = {    a: 'this is data'  }  console.log(data)  return json({    ...data  })}export default function Index() {  const fetcher = useFetcher();  const onSubmit = (e) => {    e.preventDefault();    fetcher.submit(e.target, {      method: 'post',      action: '/main/form'    })  }  return (    <div>      <div>Remix Form</div>      <fetcher.Form onSubmit={onSubmit}>        <input type="text" name="a-name-remix"/>        <button type="submit">submit-remix</button>      </fetcher.Form>    </div>  );}

    onSubmit 中首先就是要解决提交的默认行为问题,阻止了表单的默认行为之后,使用 submit 方法其实与钩子函数 submit 是一样的。

    useFetcher 的其他内容

    • state 表示当前的条状态 idle/submitting/loading

    • data 表示 action 中响应的数据

    • load 函数表示从路由中读取 action 函数返回的数据

    • submission 是可能构建 optimistic UI

    其他的表单

    • 一个使用 useSubmit 钩子函数手动提交 antd 表单的例子

    import { Form, Input, Button } from "antd";import { useSubmit } from "@remix-run/react";export async function action() {  return {    a: 1  }}export default function () {  const submit = useSubmit();  const handleClick = (data) => {    submit(data, {      method: "post",    });  };  return (    <div>      <Form onFinish={handleClick}>        <Form.Item name="name">          <Input />        </Form.Item>        <Button htmlType="submit" >          提交        </Button>      </Form>    </div>  );}
    • 一个手动提交 antd pro-component 表单的例子

    import { Button } from "antd";import { ProForm, ProFormText } from '@ant-design/pro-components'import { useSubmit } from "@remix-run/react";export async function action() {  return {    a: 1  }}export default function () {  const submit = useSubmit();  const handleClick = async (data: any) => {    submit(data, {      method: "post",    });    return false  };  return (    <div>      <ProForm onFinish={handleClick}>        <ProFormText name="name" />        <Button htmlType="submit" >          提交        </Button>      </ProForm>    </div>  );}

    到此,关于“Remix表单常用方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: Remix表单常用方法有哪些

    本文链接: https://lsjlt.com/news/353176.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Remix表单常用方法有哪些
      这篇文章主要介绍“Remix表单常用方法有哪些”,在日常操作中,相信很多人在Remix表单常用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Remix表单常用方法有哪些”的疑惑有所帮助!接下来,请跟...
      99+
      2023-07-05
    • 归纳总结Remix 表单常用方法及示例详解
      目录Remix 的三种表单回顾表单基础表单提交的形式阻止跳转Remix 提供的表单组件一个简单的 demo使用钩子函数提交函数Remix fetcher 表单一个简单的 demo没有...
      99+
      2023-03-24
      remix 表单用法归纳 Remix 表单常用方法
    • HTML5中有哪些表单验证方法
      这篇文章主要介绍“HTML5中有哪些表单验证方法”,在日常操作中,相信很多人在HTML5中有哪些表单验证方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTML5中有哪些表...
      99+
      2024-04-02
    • html制作表单的方法有哪些
      在HTML中,有几种方法可以创建表单。以下是一些常用的方法:1. 使用`<form>`元素:```html<for...
      99+
      2023-08-08
      html
    • Golang表单请求的方法有哪些
      在Golang中,我们可以使用以下方法来处理表单请求:1. POST方法:在请求体中发送表单数据。可以使用`http.Post`或`...
      99+
      2023-08-19
      Golang
    • MySQL单表查询的方法有哪些
      这篇文章主要讲解了“MySQL单表查询的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL单表查询的方法有哪些”吧!前言查询是数据操作至关重要的一部分,比如说在所有商品中查找...
      99+
      2023-07-04
    • js常用方法有哪些
      小编给大家分享一下js常用方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:js常用方法demo<!DOC...
      99+
      2024-04-02
    • ajax常用方法有哪些
      这篇文章主要介绍了ajax常用方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.url: 要求为String类型的参数,(默认为当...
      99+
      2024-04-02
    • ansible常用方法有哪些
      这篇文章主要介绍了ansible常用方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ansible常用方法有哪些文章都会有所收获,下面我们一起来看看吧。ansible有很多模块,也有很多playbook...
      99+
      2023-06-05
    • HTML中禁用表单控件的方法有哪些
      本篇内容介绍了“HTML中禁用表单控件的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   在...
      99+
      2024-04-02
    • Bootstrap学习之常用表单组件有哪些
      这篇“Bootstrap学习之常用表单组件有哪些”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Bootstrap学习之常用表单组件有哪些”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过...
      99+
      2023-06-06
    • jquery最常用方法有哪些
      本篇内容介绍了“jquery最常用方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   1.基本...
      99+
      2024-04-02
    • jQuery常用的方法有哪些
      这篇文章主要介绍“jQuery常用的方法有哪些”,在日常操作中,相信很多人在jQuery常用的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jQuery常用的方法有...
      99+
      2024-04-02
    • 常用的js方法有哪些
      这篇文章将为大家详细讲解有关常用的js方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数组及对象深拷贝var arr = [1,&#...
      99+
      2024-04-02
    • arraylist的常用方法有哪些
      ArrayList的常用方法有:1. add(Object element):将指定的元素添加到列表的末尾。2. add(int i...
      99+
      2023-09-23
      arraylist
    • redis的常用方法有哪些
      Redis的常用方法有:1. SET:设置指定 key 的值。2. GET:获取指定 key 的值。3. DEL:删除指定 key。...
      99+
      2023-09-06
      redis
    • json常用的方法有哪些
      JSON常用的方法有:1. json.dumps():将Python对象转换为JSON字符串。2. json.loads():将JS...
      99+
      2023-09-13
      json
    • Java LockSupport常用方法有哪些
      这篇文章主要讲解了“Java LockSupport常用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java LockSupport常用方法有哪些”吧!Loc...
      99+
      2023-07-05
    • Map的常用方法有哪些
      本篇内容主要讲解“Map的常用方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Map的常用方法有哪些”吧!set底层是默认value的mapMap的常用方法//介绍Map接口的方法Map...
      99+
      2023-06-02
    • jquery的常用方法有哪些
      jQuery的常用方法有以下几种:1. 选择器方法:用于选取DOM元素,如`$("selector")`。2. 事件处理方法:用于绑...
      99+
      2023-08-18
      jquery
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作