【图文并茂】ant design pro 如何用 Switch 来实现一个动态优雅切换的功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上图所示

我们经常要设置一些记录是否启用

类似这样的功能

虽然我们可以类似这样来处理

在这里插入图片描述
但是在列表页处理的话,可以体验更好,更直接一些

    {
      title: intl.formatMessage({ id: 'isEnable' }),
      dataIndex: 'isEnable',
      width: 150,
      hideInSearch: true,
      render: (_, record: any) => (
        <Switch
          checkedChildren={intl.formatMessage({ id: 'select_online' })}
          unCheckedChildren={intl.formatMessage({ id: 'select_offline' })}
          checked={record.isOnline}
          onChange={async () => {
            await handleUpdate({ _id: record._id, isOnline: !record.isOnline });
            if (actionRef.current) {
              actionRef.current.reload();
            }
          }}
        />
      ),
    },

首先后端是有 isOnline 这个属性的。

const materialCategorySchema = new mongoose.Schema(
  {
    name: { type: String, required: true },
    image: { type: String },
    parent: { type: mongoose.Schema.Types.ObjectId, ref: 'MaterialCategory' },
    isOnline: { type: Boolean },
  },
  { timestamps: true },
);
 await handleUpdate({ _id: record._id, isOnline: !record.isOnline });

这里会发送请求的

请求完会刷新列表页的数据

 if (actionRef.current) {
              actionRef.current.reload();
            }

完结


以下是一个简单的JSP实现检索功能的代码示例: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>检索功能示例</title> </head> <body> <h1>检索功能示例</h1> <form method="post" action="search.jsp"> <input type="text" name="keyword" placeholder="请输入检索关键词"> <button type="submit">检索</button> </form> <hr> <h2>检索结果</h2> <% // 获取用户提交的关键词 String keyword = request.getParameter("keyword"); if(keyword != null && !keyword.trim().isEmpty()) { try { // 连接数据库 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test?useSSL=false"; String username = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, username, password); // 执行查询 String sql = "SELECT * FROM articles WHERE title LIKE ?"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1, "%" + keyword + "%"); ResultSet rs = stmt.executeQuery(); // 显示查询结果 while(rs.next()) { String id = rs.getString("id"); String title = rs.getString("title"); String content = rs.getString("content"); String image = rs.getString("image"); %> <div> <h3><a href="article.jsp?id=<%= id %>"><%= title %></a></h3> <% if(image != null && !image.trim().isEmpty()) { %> <img src="<%= image %>" alt="<%= title %>"> <% } %> <p><%= content %></p> </div> <hr> <% } // 关闭连接 rs.close(); stmt.close(); conn.close(); } catch(Exception e) { e.printStackTrace(); out.println("<p>检索出错:" + e.getMessage() + "</p>"); } } else { out.println("<p>请输入检索关键词</p>"); } %> </body> </html> ``` 这段代码实现一个简单的检索功能,用户可以在页面上输入关键词进行检索,检索结果会显示在页面上。其中,我们使用了JDBC连接MySQL数据库进行查询,同时也演示了如何在JSP页面中嵌入Java代码实现动态内容的生成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员随风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值