00:00
大家好,这节课我们来完成一下这个编辑的功能,因为这个添加我们已经写完了,对吧?啊,这节课来写一下这个编辑的功能啊,那编辑呢,我们也和添加一样使用这个模态框啊,为了快速完成我们的代码,那我就直接复制一个推的模态框,把它改成啊edit来。接下来在这个index中,那。我们也得定义一个呃状态,哎,就是。Edit的这个控制edit模态框的显示和隐藏的对吧?啊,就是相当于整个是把这个create的代码复制了一遍,是不是这样的啊。那。接下来。这个也得复制一遍。改成E。然后那这个方法就得换,换成我们这个edit的这个,嗯,看看还有什么要复制的啊,这个也复制一遍啊。
01:06
好,那我就继续啊,现在是没有再写其他东西,就是整个把这个编辑和添加的就添加代码复制一份改成这个编辑,因为他们的东西都是类似的,对吧。好,接下来那这里引入了呃,添加的这个表达,那是不是还得引入一个编辑的啊,把它给换掉,然后那这个变量。都得用,就是说呃,控制它显示和隐藏的,我们就用对应的编辑的,包括这个操作状态的方法啊,那表格的话无所谓,还是这一个。嗯,接着去改一下这个编辑啊,编辑这里面。我们先改改什么,先把这个标题给改了,编辑用户,编辑用户啊,那改完这个标题之后,我们先来看看我们的编辑好不好使啊。新建是添加用户对吧,那我们的编辑,然后没有给这个按钮事件是吧?来我们给这个链接一个事件点击,事件点击的时候,呃,让这个模态框显示好吧。
02:08
找到这里,然后我们找到。链接是在字段里面去定义的,是不是啊,在这个操作里面on click啊,当我们让他去调这个is。调调这个方法啊啊。啊,这个第一个参数啊处给上就是让它显示嘛啊。嗯,这个on change啊,之前上节课给大家讲过,这里边我们给的是回调函数啊,你不要直接把一个方法扔在这儿不行的,必须得是一个回调函数。好,接下来我们来看一看啊。来编辑。哎,没有,看看是不是报错了。找一下康熙。编辑。嗯。等会儿我看看什么问题。来看一下代码啊,编辑这边我们给了一个。
03:05
哦,这个事件给错了,应该是昂克列克,我说呢,好,那现在我们再来看一下啊。来。编辑用户是不是就出来了啊,没有报错,是我们事件之前写的时候写快乐手误给错了,好那个编辑用户有了,接下来我们再去改一下这个,呃,编辑用户所需要的一些东西啊。这个就是列表里面的这个东西,我们就就不改了,改到这就可以了,让他能弹出来这个。表单,然后嗯,我们状态也定义好了,该传的也都传到这个编辑的这个组件里面去了,对吧,而且用的都是编辑自己的一个方法嘛,啊,那接下来去改这个编辑啊。首先,嗯。这些东西。啊,这些东西。啊,我们传的也是他啊,无所谓啊,这个没有问题,因为呃,这个一样的话没有事啊,和添加,因为最终是我们是给的值不同,你看是把我们这个里面的这个值给他,这个值给他啊,所以这个我们就不用动了啊,那接下来这个就不是添加用户了,而是修改用户信息。
04:17
好。嗯,方法呢,也都给他换一换吧。啊,Up date。啊,这个改成1USER。然后。接下来我们要发送。请求那这个字错了,那添加的这个也有问题啊,不是发情请求,是发送请求,那就是更新用户信息啊,更新用户那就不能使用这个方法了,对吧?那不能使用这个方法,我们得再复制一个方法是更新用户。啊,把这个API先提前准备好,更新用户信息。
05:01
那这个我们就叫update,就算。Update user来找一下我们的这个地址,看一下API找到。更新用户信息。嗯,是请求这个地址,最后还要带一个用户的这个ID对吧。好,我们把这个写上。呃,不仅要接收一个用户的ID,你还要把这个要更新的这个数据给携带上。啊,但是我们这个API有一点点问题,什么问题呢,就是说。只允许你更新name和这个email,不允许更新密码。啊,所以我们这个更新。那就不去写这个密码字段了啊,我先把这个链接写上,更新用户信息。是这个地址。啊嗯,那接下来看一下方式是put啊,我们把它改成点put。然后这个地址呢,注意我们用模板字符串,因为什么它还得要一个这个user ID的一个字段,就是UID啊,这个里面手册里面都有说啊,你看这个rest参数,你必须得传一个用户的ID,那这个我们就得再接受一下UID,也就是说你调我这个方法啊,发送请求,你不仅。
06:17
再给我一个用户的ID,你还得给我你要更新的数据,好,那这个方法我们写完了,来在这个编辑的这个模态框里面啊。我们用一下,我们先把这个添加给关掉,防止它影响到我们,防止大家看的,那这个添用户我们就不要了,我们用谁用用更新用户信息对不对,这里就要更新用户信息,好更新用户信息呢。我们第一个参数传什么传UID对吧。啊,或者说我们叫这个editd啊,Edit ID就是要编辑的这条数据的这个ID啊,那我们为了保持统一,整个都改一改吧,1DID ID。啊啊,其实改不改都无所谓啊,那还是改一下吧,习惯了。
07:01
接下来呢,就。有一个问题啊。其实事实也是这么回事,就是我们要编辑哪一条数据,你肯定得告诉我你要编辑哪一条,对吧,那我们需要这个用户的这个ID对不对啊,但是这个ID怎么来。这是子组件,我们的列表是谁?是父组件,你想想父组件想要给子组件一个数据对吧,那肯定是用什么purpose对不对啊,所以这边我们要传一个。传一个ID过来啊。按照我们的想法开始写啊,我传一个ED啊,等于谁呢ED?那么问题又来了,那这个ID到底从哪来?文,这是一个表格啊,表格有这么多数据对吧?那这个ID到底从哪来?先不用管它报错啊,因为是这个找不到。对不对。啊。那这样的话,我们就。来解决这个问题。怎么办呢?嗯,想一想,想一想组件有什么,组件是不是有状态,我们把那个ID定义为这个定义成一个状态。
08:06
不就可以了,来。Edit ID set ID。好,那默认呢,就是嗯。按就不给他就完了。我在这里定义了一个,就是说你要编辑的这个ID的一个一个状态,对吧。那什么时候我去更新这个状态呢?就是在这个表格的这个字段里面,你去点击这个。点击这个编辑的时候,我是触发了这个函数,那么我既然能给你传这个出过去,我还是不是还可以再给你多传一个ID过去。对吧,那ID是谁,是不是就是这个record record是这条,当前这条就是这一行的数据,那它里面的ID是不是可以传过去,那传过去之后,那这个方法我是不是得有一个变量去。去接收一下,好,来接收一下啊。
09:01
那你不仅要接受一个。呃,秀你还得接受一个ID。啊,ED,那这边接收到这个ID之后。我们就得去调用这个set ID这个方法啊,把这个我们接收到的这个ID给设置一下。这有一个红线,我们看一下,它告诉我们这个,呃,I的ID早已经定义了,那肯定是定义了,我们这里定义状态时候就定义了,对吧?啊,因为我们这是函数字组件,我们直接在这使用变量的话啊,他会认为你是在使用这个web的,已经定义一个变量,你换个名字啊,那就叫ID吧。啊,那这里,哎,把它给收上就行了。哎,这样就可以了啊。啊,这个是控制我们的模态框让它显示啊,那这个是那个设置一下我们的这个ID啊,我们也可以先设置ID,再让它显示都是可以的啊。这样的话。嗯。ID这个状态只要一被设置,那这个ID就能传给我们的这个ID组件,对不对,那在这个I组件里面的purpose里面,我们就可以去拿到。
10:10
这个。IDID啊。好。拿到这个ID的ID之后。那就可以使用这个ID去更新啊这条数据了,对吧?好先别慌,我们先打印一下,看这个ID到底有没有拿到来。打开空器。啊,还有我们的这个啊,第一次那肯定是。按判的对吧,那我们还没点呢。因为一开始我们初始化这个it it状态的时候就是按盘的嘛,来现在随便点一个就它啊编辑是不是就拿到了。啊好,那这个ID的问题我们就解决了。但是我们现在还要解决一个问题。既然是编辑,那么我在弹出这个模态框的时候,我这些信息是不是要显示出来?对吧,你添加的时候,你可以是一个新的一个表单,但是我作为编辑来讲的话,你是不是要给我显示出来。
11:07
是这样的吧。把它给关掉啊,那我们来怎么解决这个问题,我们既然已经拿到ID了,我们是不是可以通过这个ID去查询这条数据的一个详情,然后把这个查到的数据给它放到这个字段上就可以了,对,就是这么简单来找API,肯定有查看详情的。呃,用户详情看到了吗?通过请求这个地址,我们拿到用户的详情信息,哎,拿到这个详情信息之后,把它给填充上就可以了,好来接着写啊。嗯。先把这个API准备好啊,因为这个API的话。你肯定是需要的啊,用户详情。用户详情,嗯,详情呢,只要一个这个编辑的ID就可以,然后那这个参数也不要了,应该是一个get请求啊,我们来验证一下啊,就是这个地址加一个get请求,然后加上这么一个参数。
12:09
嗯,这个参数没有了啊,这个参数的名字不对啊,换成它。好,来看一下。这个手册啊。看用户详情盖的方式,它加上一个他对吧,好,那我们这个API写的没问题,那把这个方法名。改了啊,改成一个秀有色,就是有色的一个详情。啊,用户详情的方法我们来定义好了,接下来。哎,就开始写我们的代码了,刚才我们说过了,我们要让这个。编辑这个弹框弹出来的时候,把这条数据的详情数据给拿到展示到这里,对吧。那这个机制我们是在什么时候查询好呢?就是我们在什么时候去拿这个用户详情好呢。大家想想它是组件,组件有什么,是不是生命周期,我们是不是可以在生命周期里面去拿到这个数据,把它给放到这上面就可以了啊。
13:04
来,我们开始啊。在这个编辑组件里面。啊,这个ID是有的,我们来写这个。这个生命周期啊。嗯,生命周期的话得引入才行啊,这是个函数的组件,我们使用这个U与发。Use effect箭头函数第二个可成一个空数组。这里面我们要发送请求的话,请求又是异步啊,提前给上think啊,这些应该都是。习惯性的一个东西,你只要感觉你方法里面有一补你要用的A,你就提前把这个a think加上就行,嗯。哎,发送请求。请求获取用户详情啊。
14:00
那怎么发呢,是不是得把这个方法,哎,把它给。引入过来对吧,然后我们的用户详情,嗯,来定一个constant等于。哎,调这个方法把谁传过去,把ED hid传过去。是这样的吧,好,我们来看一下,打一下用户的详情,点log。先看看能不能拿到数据啊,打印来刷新,他报错了对吧,请求这个你看user按范。啊,然后呃,结果呢,也是找不到404NOTE放的对吧,那首先这个ID啊,它就是空,因为一开始组件它去挂载的时候没有这个ID的。清楚了吗?啊,所以怎么办?我们来做一个判断,就说这个ID,你只有你ID存在,我才去发起这个请求。对吧,来加一个判断,因为一开始他在挂载的时候,我们那个状态编辑就是说这个ID的一个状态是看这里是不是设置按底判的,那这时候你不让它请求就完了呗,If a ID啊不等,等于按find,等那这个时候我才去发起这个请求。
15:06
来,接下来我们来验证一下啊。先把这个清空掉,好可以看一下,一开始的时候是按底范的请求,根本就没有发送对不对,那当我去点击编辑的时候发送请求。诶。为什么没有发送请求呢?对吧,那我们再点,为什么没有呢。好。我们来分析一下啊,我们来想想你这个东西use effect,然后加上中号之后,它相当于哪个生周期,是不是component啊d moment,就是组件挂载之后它就会执行对吧?好,我们来答一下啊,我把这个问题要给大家说明白点,多个组件挂载了。挂载完成了,来我们来看一下啊。好,当我们页面一加载的时候,其实组件就已经挂载完成了,对不对。
16:03
对吧,你看一下啊,那我们的组件在这个index在这儿引入着呢,那是不是我们的这个首页一加载这个组件就挂载完成了,对不对,好。挂载完成了,我们来想一想。这个生命周期是在挂载完成之后它执行,那我们在点击的时候只是控制了这个模态框的显示和隐藏,显示和隐藏我们组件有卸载吗?没有卸载,所以它执行一次对吧。那既然问题我们已经发现了,就是因为组件。啊,它没有卸载。然后我们这个方法,它只有在第一次挂载完成之后执行了,那么我们组件后面就没有卸载,也不会在存在于就是说来回挂载这种事情,那他只要不重新挂载。那我们这个方法就执行不了,对不对,那简单我让你重新挂载,哎,当你消失的时候,我让你卸载掉不就可以了吗。是不是这个这个意思,哎,在你组件消失的时候啊,就是组件不显不显示的时候,那我就让你卸载掉,当你这个组件啊,就说。
17:07
就是模模态框显示的时候,我再让你挂载。是不是就可以了,我们只要解决这个问题就可以了,那怎么解决呢?很简单啊,你看看组件在哪挂载的,是不是在这儿挂载的,对不对,那我在这我去加一个三元运算符是不是就可以了,我判断谁判断is,呃,这个编辑的框啊,是否显示如果。它啊,等等一处,那是不是等等一处,我们就可以不写了,就是如果你是显示状态。啊,那我就挂载它,否则的话冒号我就不显示。看到吗?一个三运算符。这样的话就完全取决于这个状态了,我们的模态框显示的时候,我让组件挂载啊,模态框隐藏的时候,那组件就不挂载。那通过这个状态,我们就控制了组件的挂载和卸载,只要组件它能重新挂载,那这个方法。
18:00
就会执行。而又因为我们在让这个组件显示的时候,实际上这个ID我们也进行了设置,对吧。啊,所以说。这个ID就有他就能拿到数据啊,当然我们是基于这个变量去判断的,你基于这个ID也可以啊。因为这个都是组建的这个自己的一个状态嘛,你看不管是他还是他都是组建的状态。那如果这么写,你看着不顺眼。啊,也好吧,我们把它给放到。啊,后面啊进行一个取法,就是说。给他一个取法啊,如果你就说没有。现在是force,就说如果你是隐藏状态,那我就给你个空,否则的话冒号,诶下面我就不要了,那我们就显示这个组件,哎,这样的话大家看起来更好看一些是吧。啊。啊,当然你把那个冒号这个分号写下面,就是冒号就空字符写下面也可以,好接下来我们来做一个验证啊,来刷新。
19:00
啊来重新刷新一下,全部重新刷新一下。编辑是不是组件挂载完成了,然后数据也拿到了。看到了吗?啊,在一开始我们加载页面的时候,一开始为什么没有显示这个组件挂载完成,因为一开始它是false,所以这个组件压根就没挂载到,后来我点了这个之后。那它被设置为促啊组件就它就开始挂载对吧,那这个它的生命周期就可以正常的走,查询数据都可以拿到。清楚了吧,啊,这是一种方法啊,这是一种方式。当然还有很多的方式,就是说嗯,我们来想一想啊,我们无非就是想要通过这个请求去拿取这个用户的信息而已,对不对,那我为什么非得在这个子组件里面,在他这里面去拿呢?啊,那我在这个列表里面,我去点击这个编辑的时候,在这个方法里面,我去查询用户的信息啊,我在这里查询用户的信息,对吧?那查到用户的信息之后,我把用户的信息给到一个状态,我再把这个状态传给这个组件,是不是也可以?
20:03
对吧。啊,有很多办法去实现啊,就是我们。最终,只要能解决问题就可以。啊,当然也,呃,两种方式啊,都可以啊。啊,一种是我们就是说基于组件的这个挂载和卸载,在组件的生命周期中去完成这个请求,再一种是直接啊,我们点击这个编辑的时候,触发这个点击事件,在这个事件里面去发起这个请求,获取数据,但是这个数据呢,你获取到之后,怎么样才能传给子组件呢?啊,就得借助于。我们这个父组件的一个状态啊,我们先把这个状态设置好之后,之后就可以传给这个子组件。啊,都可以啊。看大家感觉哪个好理解,你就用哪个就可以,那我们就用这种方式吧。啊,这种方式只是增加了一个判断而已嘛,啊这个也挺好理解的呀,你看你的这个模态框,你如果是隐藏状态,你这个组件我就不加载嘛,就压根没有你嘛,那你的模态框如果是显示状态,我就让你这个组件挂载嘛,对吧?而我们的这个生命周期就是当你组件挂载完毕之后,生命周期就会执行嘛,而且我们还判断了这个ID。
21:04
清楚了吧,好,那这个我们就注释掉。现在用户数据我们已经拿到了,那接下来再考虑问题,怎么把这个用户的数据。给放到。这个表单里面啊,放到这个里面,填充到这个里面,这就很简单了,你直接去找到这个父母的。组件看他怎么去用。来,我们来找一下啊。Form应该是在这儿。直接看它的API,然后有一个这个东西表单默认值初始化以及重置时生效。看到了吧,所以说我们只要给这个表单设置上,就是给这个form组件去设置上啊,这个属性就可以了。好,那我们来随便去设置一下啊。找到我们的编辑里面的这个表单,表单在这里啊,我们来给它一个这么一个属性,嗯,让它等于谁呢?我先随便写一个,比如写一个name等于AAA,你先看看啊,如果好使的话,就把我们查询的数据给到他就可以了,是不是?
22:05
啊,先做一个验证啊。来现在编辑是不是好使A有对不对,好,那我们就别写AA了,写我们查到的用户的详情,好吧,啊,那这个我们就直接用它吧,然后我们去定一个这么一个变量。嗯,那肯定是在。呃,这个拿到数据之后啊。在这儿啊,在这儿那更新用户啊,不是在这儿,这是更新用户的,我们应该是在这个生命周期中获取用户详情,获取到用户详情之后。应该去设置一下它啊。但是我们来想想这个变量。这边啊,我们是在生命周期里面写着,但是下面呢,又要直接去用它啊,所以我们要把它给定义成一个,呃,Web的一个变量啊,而且它还能被修改,所以我们用let来定一下它啊。
23:00
那一开始让他等一个空对象就可以,当我们这边就是说请求到这个数据之后,我们再去。嗯,重新设置它的值,比如说它的这个内幕啊,等于。这个response里面的这个name对吧?好,那它里面的这个email等于response里面的这个email,来我来看看效果。编辑。为啥不行呢?啊,这个给大家说一下,你看我们这个请求啊,它需要一定的时间对吧,它网络请求它有时间开销的,但是你这个组件的渲染很快的。就是啪就渲染上了,那那就它渲染完了,组件渲染完了数据才回来,来我们我们再刷新给大家看一下啊嗯,你注意这个什么呢?注意这个组件它渲染速度,以及这个数据回来的速度,你对比一下是不是组件出来的这个数据才回来。对不对。啊,我们这个方法肯定是没有问题的啊,就是给它去设置这个东西肯定是没有问题,比如我们来做个验证啊,把它给放到最外面去设置,先把它给随便给写成1122,我就我们就做验证啊。
24:13
你来看看。伤心。是不是能填充上我们的思路,肯定是没问题,那接下来就来解决这个问题。就是由于他网络请求。造成的原因啊,我们这个没有给上的一个原因。想一想啊,我们想要什么结果?其实我们在解决一个问题的时候,我们先要把我们最终想要的一个结果先给设想出来,之后再想想我们通过手段能怎么解决这个问题。我们无非是想要等到数据回来之后,你组件在渲染,因为如果你组件渲染太快,我数据还没回来,那不行。是不是这样的啊。来就是我们想要的效果,就是说当我点击之后,点击编辑之后,等你数据回来之后,我们的这个表单再渲染,是不是想要这么一个效果,对吧,那这种。
25:02
情况怎么办?啊,但是我们也不能让用户一直看到一个空白的页面是不是。这时候你是想到什么loading对不对,等待嘛,Loading嘛。在数据回来之前,我们一直loading,等数据回来了。我们再把这个loading消失,再让表格渲染出来,对吧,好。那我们今天不用楼顶,用一个比楼顶更好玩的一个东西。用什么呢?用啊这个。还是看这个S啊,这个文档找到什么股价屏。来找到这个骨架屏,看到了吗?骨架平是做什么用的?就是?当这个数据没回来的时候,我们可以先让这个股价屏去显示。啊,当数据回来以后。我们再让这个骨架屏消失,让这个呃表格啊,就是我们的这个表单再让他去渲染。明白了吧,那这个体验就会稍微好一些,我们来看看这个骨架屏怎么用啊。
26:01
嗯,首先你是在。啊,这是一个比较简单的一个方法啊,直接从这里面去。引入啊,直接去。返回它就可以了啊,就是说直接去使用这个标签可以啊,我们可以用这个,你可以用这个啊,然后也可以去用哪个的呢。用NTD里面的,这里面有骨架屏,我看看在哪在这啊。呃,那我们就用这个NTD的吧。来看一下怎么用,从an TD里面去导入这个骨架屏,然后呃,直接使用这个标签就可以了啊,这里可以设置它的这个。的大小,然后还有以及它的一个效果。嗯,好,我们就用这个啊。从NTD里面导入。编辑里面,然后在这个and里面,我们把这个骨架屏给导入进来,导入进来之后呢,嗯,直接使用这个标签啊。
27:02
然后他这个参数。我看看是干啥的啊。嗯,是否显示段落站位图。啊,默认就是处。然后这个是可以指定,就是显示几个段落占位图,那你看这边我们设置了四,它就显示四个啊,1234啊,这个可以去让我们去指定这个数量,然后还可以去。呃,骨架的一个类型,比如说是输入框的类型啊,还是说是头像的这个类型啊,等等等等啊。那我们先把这个最基本的给搞出来再说啊。好,这个已经导入过来了,接着呢,我们。在这里啊,让它去显示啊。好,先放着,让大家看看效果。啊,这个加个空格就没问题了啊。嗯,报了一个错。好饭。
28:01
这是哪个的锁,我看看。刷新看看。好,接着我们来点击编辑。哎,可以看到啊,这样的一个效果就出来了,对吧?啊,但是我们不想要这个效果,我先让他。呃,就是说做一个判断啊。他和他。只显示一个对吧,而且我们还要有一个状态来控制。呃,他和他谁显示对吧,我们可以去定一个状态是loading啊,比如说loading一开始是这个处,当数据回来之后,把loading改为false啊,来控制它的一个显示和隐藏啊,这个样式我们等会再调,先把这个我们想要的效果搞好之后再去啊做整理这些细节啊。嗯,也就是他和它只显示一个对吧,那我们肯定得一个东西去判断,那判断的依据是什么。判断的依据就是。我们这个请求到底有没有完成啊,那更直白点就是它到底有没有值,一开始是空对吧,只有它有值了,我们才让这个form表单去渲染,去显示,再让再让那个骨架片去消失,对不对。
29:12
好,也就是说它的这个变化,我们定义的这个变化,你要能去引起这个组件的,就是引起他们的重新渲染,要想引起他们的重新渲染,我们必须得把这个东西。怎么办?是不是定义为状态,定义为组件状态,只有组件的状态发生改变,组件才会重新渲染,然后才会去,呃,决定来显示它,或者显示它是不是这样的,好,那我们来把这个。这个它就定义成状态,不要直接在这定义成变量了啊,来我们来看一下啊。啊,柚子。State啊,因为我们这个是函数组件定义状态,你就来使用这个state啊。哎,我们来。啊,先等会再写啊,先把这个。这里写了啊,一开始我们设置成按底范的。
30:03
把它给放到状态里面,再来定一个设置它的一个方法啊好,那这个就不要了啊,也就是说当我们数据回来以后。那我们就调用这个。嗯,调用这个设置它的这个方法啊,去设置我们的这个初始化的一个数据,这时候我们直接就给一个对象就完了啊,我们换一种写法,Name等于response点内,我们用这种写法来写啊,然后是这个email等于这个email啊,这样就不要了啊。看到吗?就是当我们数据请求回来之后,我调用这个设置状态的方法,把这个状态设置成它。啊,设置成它以后,那它的状态发生改变,组件就会渲染,那这里就会,呃,重新去渲染这块嘛,那我们这边就要做一个判断,哎,如果啊,就说它是安底范的时候,那我们就显示骨价平,就说明数据还没有请求回来,哎,我们来判断一下它,那判断的话呢,我们就要写到一个大括号里面来写我们表达式。
31:02
就是它是否等等于安底范的,你如果等于安底范的,是不是数据还没请求回来,显示五加平对不对?好,否则的话我们加个冒号,如果数据已经请求回来了,就显示我们的这个表单啊。那就挂载我们的这个表单好,这样的话做一个判断啊,那这边当完成的时候,我们是不是在执行更新用户,但这个我们之前是复制的,还没改是不是,其实这个方法名我们已经改过了,把它给换一换好,那顺手的事儿就把它给改了,来验证一下我们的骨架屏好不好使。那刷新把这个先给清了啊。编辑。是不是好使数据也停止通了,那我们这个是不是就完成了。啊,对吧,而且这个谷家屏我们再调一调它的样式吧,那这个头像我们就不要了啊,找到谷家平,那这个头像就不要了。嗯,接着再来看看这个骨架屏啊,这样就可以。再来看一下这个骨架屏的API,看看还有什么好用的属性名啊,看一看啊,嗯,那把这个给给加上,它默认是false,我们把它给加上啊,就是是否显示动画。
32:08
加成动画效果可能会好看一些,等于负。来,回过头来看一下。哎,有这么一个动画的效果,虽然时间比较短,然后还有就是我们的密码不需要删掉。找到密码,这里删掉。啊。嗯,接下来呢。就是提交数据去更新数据,那提交哪呢?提交到我们这个啊,It的右侧册里面,我们发送请求啊。并且把这个。I的ID传了过去,把这个Windows传了过去,然后这边应该是更新成功啊,更新成功好,同样的是刷新表格,关闭模态框。啊,关闭模态框啊,应该是没有任何数据,没有没有任何问题啊,我们这个更新用户的这个这边也提前都写好了啊,参数也都传过去了。
33:07
来验证一下,最终我们能不能修改成功。那我们就修改谁呢?就修改这个FF。把它修改成。嗯,QQQ。来提交。修改成功,而且表格也这个表格也刷新了,那肯定是修改成功了,那我们这个就没有问题了,把这个cons log也给注释掉。嗯,在上面啊lo这个删掉。好,那这样我们的更新就完成了啊。而且啊也做了一些优化。好,那这小节就到这里。
我来说两句