当前位置: 首页 > news >正文

前端面试项目细节重难点(已工作|做分享)

面试官提问:需求场景:页面上有一个单选框,有是否两个选项:当用户选择是,出现一个输入框,用户可以输入内容,给后端的保存接口传入参数radio和content这两个字段,值分别是用户选项和输入内容;当用户选择否,隐藏输入框,给后端的保存接口传入参数radio和content这两个字段,但是content值为null;关键点:用户切换为是选项时,还得保持用户原来输入的内容,你会如何实现那?

答:我的回答:根据您提供的需求背景和实现难点,我们可以探讨一下实现思路:

(1)页面结构和交互:

   - 这个页面包含一个调查问卷的表单,用户可以切换选项并输入内容。

   - 当用户切换选项或输入内容时,需要及时保存数据到后端。

- 原型图如下:

c7c784eac6c2496290a23f3d88197fdc.png

6238545df2b04d399751e6ff12cfcc45.png 

a5f8781e1494463c9253529bd0127c04.png 

(2)保存数据的逻辑:

   - 使用一个状态变量来记录用户当前的选择(是/否)。

   - 在保存数据时,根据用户的选择确定要保存的数据:

     - 如果选择"否",则将 `content` 字段设置为 `null` 再保存。

     - 如果选择"是",则保存用户输入的内容。

(3)实现难点:

   - 当用户切换到"否"选项时,需要将页面上的内容保持不变,而不是清空。

   - 这可以通过在状态管理中维护两个字段来实现:

      - `content`: 用于存储当前用户输入的内容。

      - `pendingContent`: 用于存储用户切换"否"选项时的内容,以便在切换回"是"选项时恢复。

(4)实现步骤:

 第1步:在组件状态中添加 `selectedOption` 和 `pendingContent` 两个字段。

第2步:在切换选项时,更新 `selectedOption` 状态。

第3步:在输入内容时,更新 `content` 状态。

第4步:在保存数据时,根据 `selectedOption` 的值决定是否将 `content` 设置为 `null`。

第5步:在切换回"是"选项时,将 `pendingContent` 的值赋给 `content`。

(5)代码实现:

这个实现中,我们使用 `useState` hooks 来管理页面状态。当用户切换选项时,我们会更新 `selectedOption` 状态,并根据选择情况更新 `content` 和 `pendingContent` 状态。在保存数据时,我们根据 `selectedOption` 的值决定是否将 `content` 设置为 `null`。这样可以满足需求中提到的要求。

相关文章:

前端面试项目细节重难点(已工作|做分享)

面试官提问:需求场景:页面上有一个单选框,有是否两个选项:当用户选择是,出现一个输入框,用户可以输入内容,给后端的保存接口传入参数radio和content这两个字段,值分别是用户选项和输…...

ASTGCN 论文学习下

文章目录 4.4.2 时间注意力4.4.2 计算示例 4.5 空间-时间卷积4.5.1 空间维度上的图卷积4.5.2 时间维度上的图卷积4.5.3 空间-时间卷积模块总结 4.6 多组件融合 5 实验5.1 数据集5.1.1 PeMSD45.1.2 PeMSD8 5.2 数据预处理5.3 实验设置5.4 基线模型5.5 比较与结果分析5.5.1 主要发…...

【面经】单片机

1、单片机IO口工作方式 输入 模拟输入(GPIO_Mode_AIN):关闭施密特触发器,将电压信号传送到片上外设模块,通常用于连接模拟信号源。浮空输入(GPIO_Mode_IN_FLOATING):在浮空输入状态…...

基于manifest文件批量将coding的仓库导入gitlab中

文章目录 写在前面的话背景编写manifest文件最终效果 写在前面的话 前面有讲过通过manifest清单导入项目到gitlab中,但是实际的操作是不同gitlab实例之间的操作,然而对于在不同gitlab实例的repo迁移而言,显然direct transfer会更合适。 背景…...

【数据结构】——顺序表与链表

顺序表与链表 线性表顺序表链表链表的概念链表的分类不带头单向非循环链表的实现带头双向循环链表的实现顺序表与链表的区别 线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构。 常见的线性结构:顺序表、链表、栈、队…...

C++简洁版全排列代码

《代码随想录》在回溯章节中的全排列代码模板较为复杂&#xff0c;其实还有一种常用写法&#xff0c;思路是交换元素位置后做dfs(),并回溯。对应leetcode46题。 class Solution { public:vector<vector<int>> res;void dfs(vector<int>num, int k){// k代表…...

2024电工杯B题保姆级分析完整思路+代码+数据教学

2024电工杯B题保姆级分析完整思路代码数据教学 B题题目&#xff1a;大学生平衡膳食食谱的优化设计及评价 接下来我们将按照题目总体分析-背景分析-各小问分析的形式来 总体分析&#xff1a; 题目要求对两份一日膳食食谱进行营养分析和调整&#xff0c;然后设计优化的平衡膳…...

基于svm的水果识别

1、程序界面介绍 该程序GUI界面包括待检测水果图片加载、检测结果输出、清空可视化框等。其中包括训练模型、加载图片、重置、识别检测按钮。 程序GUI界面 识别玉米识别西瓜 分类器识别水果基本原理&#xff1a; 由于每种水果的外形存在很大差异&#xff0c;比如西瓜与玉米&…...

【DevOps】深入理解 Nginx Location 块:配置示例与应用场景详解

目录 一、location 块的基本概念 二、location 块的语法 三、location 块的匹配方式 四、location 块的优先级 五、location 块的应用场景 六、location 块的嵌套 七、location 块的指令 八、示例配置 Nginx 是一个高性能的 Web 服务器和反向代理服务器&#xff0c;它广…...

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(十一)

本系列课程&#xff0c;将重点讲解Phpsploit-Framework框架软件的基础使用&#xff01; 本文章仅提供学习&#xff0c;切勿将其用于不法手段&#xff01; 接上一篇文章内容&#xff0c;讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 我们&#xff0c;继续讲一…...

未来机器人的发展方向

未来机器人的发展方向是多元化且充满潜力的。以下是一些主要的发展方向&#xff1a; 人工智能与机器学习的集成&#xff1a;随着人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;技术的不断进步&#xff0c;机器人将变得更加智能化和自主化。这些技术将…...

美国硅谷高防服务器有哪些优势

美国硅谷高防服务器是位于美国硅谷的&#xff0c;具备高级防护能力的服务器。这种服务器针对网络安全威胁提供了增强的保护措施&#xff0c;以确保数据的安全和业务的连续性。Rak部落小编为您整理发布美国硅谷高防服务器有哪些优势。 具体介绍如下&#xff1a; 1. 安全性&#…...

Django介绍:探索Python最受欢迎的Web框架

文章目录 Django是什么Django的核心特性1. MTV架构2. 自带的Admin后台管理系统3. ORM&#xff08;对象关系映射&#xff09;4. 强大的表单处理5. 完善的文档和活跃的社区 快速入门&#xff1a;使用Django创建一个简单的Web应用步骤1&#xff1a;安装Django步骤2&#xff1a;创建…...

【Unity Shader入门精要 第9章】更复杂的光照(四)

1. 透明度测试物体的阴影 对于物体有片元丢弃的情况&#xff0c;比如透明度测试或者后边会讲到的消融效果&#xff0c;使用默认的 ShadowCaster Pass 会产生问题&#xff0c;这是因为该Pass在生成阴影映射纹理时&#xff0c;没有考虑被丢弃的片元&#xff0c;而是使用完整的模…...

【软件工程】【23.10】p2

关键字&#xff1a; 软件复用技术、过程途径、特定需求是文档核心、数据字典条目、高内聚低耦合独立性、数据流图映射模块结构图、UML依赖、用例图关系、RUB迭代、程序规格说明等价类划分、有效性测试的目标、喷泉模型面向对象、软件验证过程、CMMI...

WPF--几种常用定时器Timer汇总

1.WPF中常用4种Timer&#xff1a; System.Windows.Threading.DispatcherTimer(UI操作线程) 这是一个基于WPF Dispatcher的计时器。它可以在指定的时间间隔内触发Tick事件&#xff0c;并在UI线程上执行回调函数&#xff0c;方便进行UI更新操作。 System.Timers.Timer 这是一个基…...

在vue中实现下载文件功能

实际操作为&#xff0c;在表格中 我们可以获取到文件的id&#xff0c;通过插槽就可以实现 <template #default"scope"><el-button type"text" click"handleDown(scope.row)"><span>下载</span></el-button> </…...

文件中海量数据的排序

文件中海量数据的排序 题目&#xff1a; 跟之前堆排序可以解决TopK问题一样&#xff0c;我们来看看归并排序会用来解决什么问题&#xff1f; 思路&#xff1a; 我们说归并排序是外排序。其实就是将数据分成一个个小段&#xff0c;在内存中进行排序&#xff0c;再拿出内存&am…...

java项目之视频网站系统源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的视频网站系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 视频网站系统的主要使用者管…...

262 基于matlab的一级倒立摆仿真

基于matlab的一级倒立摆仿真&#xff0c;在对一级倒立摆进行数学建模的基础上&#xff0c;对模型进行线性化&#xff0c;得到其状态空间模型&#xff0c;利用二次型最优控制方法得出控制率。输出角度和位置优化曲线。程序已调通&#xff0c;可直接运行。 262 一级倒立摆仿真 状…...

3步解锁群晖Photos人脸识别:让DS918+等设备重获AI能力

3步解锁群晖Photos人脸识别&#xff1a;让DS918等设备重获AI能力 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch 还在为群晖DS918、DS3615xs等设备无…...

RK3399 DRM显示框架实战:从零开始搭建多图层视频播放器

RK3399 DRM显示框架实战&#xff1a;从零构建多图层视频播放器 在智能终端设备开发领域&#xff0c;如何高效实现多媒体内容的叠加显示一直是工程师们面临的挑战。想象一下&#xff0c;当我们需要在教育平板上同时播放教学视频、展示动态课件和实时标注内容时&#xff0c;传统的…...

全开源同城论坛小程序:打造本地生活服务新入口

在本地生活服务赛道愈发火热的当下&#xff0c;一款功能完备、开源可定制的同城论坛小程序&#xff0c;无疑是开发者和创业者的得力工具。今天要给大家分享的这套全开源同城论坛小程序源码&#xff0c;不仅涵盖二手交易、房屋出租两大高频本地需求&#xff0c;还集成了LBS定位与…...

-python-langchain框架(3-6-pdf文件分页加载 )

一、PDF分页加载的核心应用场景在实际开发中&#xff0c;分页加载并非多余操作&#xff0c;而是针对特定场景的最优解&#xff0c;尤其适合以下几种情况&#xff1a;大型PDF文件处理&#xff1a;单文件几十页、上百页&#xff0c;甚至更大&#xff0c;一次性加载全部内容会占用…...

NSudo完全指南:轻松获取Windows最高权限的5种方法

NSudo完全指南&#xff1a;轻松获取Windows最高权限的5种方法 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo NSu…...

Skills一站式搜索、安装、管理工具,支持一键同步40款AI工具!

文章目录 📖 介绍 📖 🏡 演示环境 🏡 📒 Skill一站式搜索、安装、管理工具 📒 🔍 解决什么痛点 🚀 快速上手 🔄 功能一:迁移整理现有Skill 🔎 功能二:搜索安装Skill 🔔 功能三:同步分发到多工具 📋 支持的工具列表 ⚙️ 配置说明 🤔 优缺点分析 ⚓…...

CUTLASS架构解密:大规模矩阵乘法优化的工程实践

CUTLASS架构解密&#xff1a;大规模矩阵乘法优化的工程实践 【免费下载链接】cutlass CUDA Templates and Python DSLs for High-Performance Linear Algebra 项目地址: https://gitcode.com/GitHub_Trending/cu/cutlass 现实挑战&#xff1a;GPU矩阵计算中的性能瓶颈与…...

5步解锁AMD显卡AI潜能:ollama-for-amd本地化部署全指南

5步解锁AMD显卡AI潜能&#xff1a;ollama-for-amd本地化部署全指南 【免费下载链接】ollama-for-amd Get up and running with Llama 3, Mistral, Gemma, and other large language models.by adding more amd gpu support. 项目地址: https://gitcode.com/gh_mirrors/ol/oll…...

python 文件管理库 Path 解析(详细基础)

1 Path库能做什么&#xff1a; Path库是python常见的文件操作库&#xff08;以对象形式操作文件路径&#xff09;&#xff0c;可以进行以下操作&#xff1a; 文件路径的拼接&#xff08;example: test / Your_path / files &#xff09; 文件地址的提取&#xff08;提取名称、…...

NSGA-Ⅲ实战:在TensorFlow/PyTorch模型超参数调优中应用多目标优化

NSGA-Ⅲ实战&#xff1a;在TensorFlow/PyTorch模型超参数调优中应用多目标优化 当你在训练一个图像分类模型时&#xff0c;是否经常陷入这样的困境&#xff1a;模型准确率提高2%&#xff0c;但推理速度却慢了50%&#xff1f;或者模型压缩后体积减小了60%&#xff0c;但准确率骤…...