00:00
好,那有了这个事情以后,下面我们来看现在的问题,我们是说下个月咱要做啥呀。现在显示的对吗。大家看一下我们最终的呀。是不是要有一些要勾选,而且是要根据我当前选中的是肉啊,是不是进行勾选。那实际上是根据里面哪个数据进行勾选的。不是K啊,这个地方我们里面有一个非常重要的属性叫mus。而拿着这个menu的每一个是不是跟我的那个艾的K进行匹配啊。匹配上了,是不是应该勾选上。这能听懂不好,那其实这个地方就说一个事情,嗯。来看好了。那这样就要说一个事情,我们当前啊,有没有什么方式来指定谁应该选中呢?这时候得去看一下树形控件,这种选中的事情咱已经做了好几次了,它应该一般都有相应的一些属性来控制它的选中,比如说现在就有一个这个数组。
01:15
叫切的case什么意思?所有应该选中的项的K的数组。能听到吧。那我怎么做呢?看好了,其实也非常简单,我们当前只是仅仅要显示的话,非常简单的事情拿到我这个去。指定,记住它是个数组吧。我在想一个事情,我可以这么做,这不已经有肉了吗?看好了。是,点mus,就得到了一个数组。它自动是不是去找匹配的选中来,我们来看一下有没有选中的。
02:10
有没有?有着吧。这能听到吧。大家看看啊,有的,这个是有角色管理,有有有商品,有角色有商品有首页来看一下这个。一样吗?不一样。就蹭的一下就选中了。能不能看到好,选中了,选中了,但是后面啊,后续的问题就是什么事情呢啊,并不说这样咱就做到位了啊不是。来说一个事情,那下面要说一个事了,那我接着是不是要去选中某选中某一些。那怎么选不中呢?够不上呢?你要知道我们现在的选中看是根据谁来选的,是不是就根据这个值来选呢。
03:04
你这个变了没有没有没有。这能听到不,他没有啊。那这样就不行。这一个这一个如果想实现我选中,我选我点击某一个啊,我点击某一个,我去点他是不是就要选中他的是不。啊,这个东西得说一个事情就有的要去。跟前面我的这个很类似。还记得我这个不,我这一个,我这个是不是,我这个是否勾选,是不是根据我的状态来的。是吧,我要想让某一个勾选,我不是想去勾我我是先改状态,而它是读状态显示。那我一改状态,他是不是就勾选了。或者一把状态里面数据改掉,它就没勾性了,对不对,同理。
04:03
同样的道理。什么事情呢?我应该这么做。看好了,应该这么做。我去设计一个。State状态。啊,我叫什么呢。他不需要有一个,他不需要有一个check case吗。那我就给你一个现在case可以吧?给你一个check case,那我这个状态里面是不是就需要有一个check case?这是我状态里面去的。哎,不是pro,是什么state,那我这个地方是不是就有一个需要有一个case的速度。当然,最先的值根据谁来去产生一个有数据的值。根据我里面的什么。
05:01
如果这么做的话,比较好做的方式是怎么写了,是去写一个contract,因为在这里面可以去进行一定的判断,进行处理。这不是一个括号是吗?嗯,也就是说我可以先取出里面的什么。Minus。听到不z.prop点什么?能不能听懂?呃,这个时候this.state等于什么呢?我这里面是不是需要去初始化一个check case。值是多少?不就是mnu吗?那这个还需要吗?不需要,这个是不是根据我传入的,大家看呢,是根据传入。角色的menu生成初始状态吧,能听到不确认一个初始状态,那这样我也能够去。
06:07
显示哪个勾选吧。大家看一下。这是我当前的吗?有一个事情我看一下啊,看一下我这里面处理了以后。没有没有什么,我看一下啊。哦,对,这个地方肉啊,后面前面要什么,是不是要解构啊,不然的话得到时间是什么。RO。这能听懂吧,能好。来看一下这初始就是这个。我们来试一下啊,试一下呃,走里接着啊设置。有吧?有吧,有有啊这样啊,这有了这个初始值以后啊,有那个初始值以后,后面的事情我怎么做啊。
07:04
嗯。那后面的事情就是当我点击选中的时候,我是不是要去更新我的这个状态值,这能听到不?我要更新我的状态值,那这个怎么更新完,首先得加监听吧。就要看怎么加监听的问题是不是,那你又去看什么看文档?对,去看文档来看文档的话,树形结构它这个地方。有一个。什么意思?I check吧。能看到吧,啊,这个就是当你选中某一个的时候。那我是不是要去写这个函数,这个函数哎,也不用自己写。有。
08:00
那我就把它给它捞过来不就行了吗?去吧。好,这个时候大家看这啥呀。是不是所有选中的K。的速度。能懂不?那这个东西不就是用来更新我的这个状态吗。刚好我是不是取的名字跟他一样?能看见吧。黑洞吧。可以的吗?嗯,来。好好了啊,那接着啊接着。那有了它之后啊,有了它之后,那下面我们来看一下啊,看一下我们会不会有变化。选中。
09:00
总理。这是来点一下。有问题啊是吧。没点上是不是没点上啊,来看一下啊,就是我们先看来啊,一步步看,先看有没有报错。来先刷新一下对吧,就是有bug我们就要检查,不是也是个机会啊,来点他一下。蛮兴奋,准备说调bug,就没有办法没刷新是吧,它没有自动的去重新刷新啊,有时候他慢一点。可以吧,可以,而且要说我们的那个最新的数据是不是由他由这个状态数据来及时的收集的。也就在我的这个状态里面吧。他不就相当于我要添加角色,更新角色的那个menu吗?
10:01
名字虽然说叫的不一样,但实际上就是menu是吧?那当我点击确认的时候,我该干嘛呀?是不点击确认的时候,大家想啊,我这个地方不有一个更新角色吗。这是我点击确认码,那我点去干嘛去。我要更新角色,那更新角色大家想啊。更新角色有个问题啊,我的状我当前这个state里面确实是有个角色的。这个觉得对吗?我们当前选中的不就是这个角色吗?这个角色哪个词不对了?那个mus。能听到不,我把那个nu是不是传给他,让他显示,接着他去修改,但他没有,并没有直接去改这个里面的。也不能改。这个一改就出问题,为什么这么说呢?因为你要一改了以后,那我要取消的话也改了,那你就回不去了。
11:05
听懂不,这次我是不是在我的这个what phone里面单独自己建了一个状态?是不给他吧?那就是我的这个传的这个M变了吗。他变了没有?他没有吧,因为每一次不就是给这个给这个属性重新赋值吗?大家看呢,我这个是不是重新指了一个新的数组啊。这个不懂,这就好声音什么呢?好声音我前面一个数组,前面里面有数据啊,本身叫mus。接着呢,我又把mnu复制给了什么select check case,他们俩都指向同一个数组,听懂了不?后来呢,我又做了一个新的事情,我每一次是不是set?算是实际上是不是给这个状态是不是又付了一个新的数组。Menu是别的吗?
12:01
还没有吧?听到了不,那现在我在外面是不是需要那个最新的。这个怎么读啊?这是又要又要说一个事情啊,我这个副组件是不是要去取子组件里面一个数据啊。能听懂这意思不啊,还是一样的事情啊,其实都在是一样的一个一个结构,也就是说啊,这是个父组件,这是个子组件,对吧,实际上有一个数据呢,不断的在变化。而附组件有一个按钮,点击按钮的时候呢,需要去取,需要去得到这个数据,是不是我们说过了,是有两种实现的方式对吧,一种是你不断的把数据传给我,我最后就不要找,不用找你要了。那是不是要保存多次啊,那一种方式你存你的啊,我也不管你是不是等到我需要的时候,我就去什么。
13:08
赌一把。能理解吧,嗯,这是一个套路啊,感觉。那这个时候是不是又要去,我们可以去利用一下我们刚才前面说的ref的这种方式去取出数据来啊。这个弄好能懂,那要去用if去整的话,那这个地方就要说一个事情,首先。还是啊,已经写了无数遍了啊,来这个地方,我们先把这个写了,来this点啊,写个名字,我们当前叫what form吧,就叫就叫what得了,等于。点什么呢?Create ref创建了一个容器吧。创建一个容器以后,得把这个容器对象是不是交给那个组件。
14:03
这不叫给他是吧,叫个这个吧。这个他不来写一个属性,来教给他写什么if等于它对不对。听懂吧,好,听懂以后,那下面啊,下面我们来看一下,教给他以后下一步呢。我们在这边,在这一个。我们需要他的位置,得干嘛去?点。Current得到那个组件标签对象吗?接着是不是要调用它的一个方法去取我想要的数据?能听懂不?那我就要get什么呢?假设叫get行吗?他得提供一个方法给我去取数据吧,那我是不是得到一个最新的menu。听不懂。接着了。看好了,那接着我这边是不是得定义一个。
15:01
哎,定一个对应的方法让他取啊。叫get什么?那其实这个无比简单的事情。啊,也不也不要写这个这种方式了,直接Z点是代点。哪个数据check case给他就行了,他拿着用一把不就得了吗?是不是这能听到不?啊,这个时候啊,这个实际上是为副组件提供啊,或读取获取啊最新。Mus数据的方法,那好了,那这边我是不是就读到了。那下面的事情好做了吧。其实好多了,那接着干嘛去?ro.mnu。等于。
16:02
什么是不是下面呢。下面是不是要去做更新的操作,那要做更新的操作得干嘛去。发请求,发请求是不是又更新角色的一个接口?能听到不,这里面是不是要接收一个新的一个弱对不弱改变,那这个时候来我们看一下它。嗯,这个地址来写一个,快速的写一个就行,找到API。哎,我们的这个API怎么输出这种东西来了,直接打开一下。就这个。好,我们来写一个啊,写一个跟这个类似。这是叫什么阿Q,什么阿宝?他这个值啊,我直接写了这个,因为前面都一样。
17:01
破损请求是吧,传什么呢。是传的这个对象,对象就是个弱对象吧。那这个时候我是不是要传一个弱的对象过来,你看我这么写对不对?对吗?这样写不对,因为我已经是个什么对象啊,我的参数是不是分别传递好一些参数啊,所以这个时候应该是这个样子才对,对不对。这能不能看到来啊,那这样的话就要说一个事了,那我这边是不是就清楚了,没套路。阿。IQ是吧啊。Z。有吧,有那我这边不就是跟刚才类似的事情,类似的操作吗。那下面我要去请求更新啦。
18:04
把这个写完啊,请求更新来一个IQ up,查一个什么。肉啊。接着再来一个,来一个wait是吧,接着就来一个什么I think。能听到吧。好。来,那此时啊,此时我这边来一个if result.status等等于什么零说明什么。说明我们更新角色什么,或者设置权限是不是成功了啊。角色。权限成功呗,这能听懂吧。
19:03
啊,这个时候还是啊,首先来说啊,我们来看一下,呃,这个它的返回值是什么呢。这个得去测试一下才知道吧,或者接口文档里面是不是有例子来告诉我是不来这一个不一定对,就是我以前测试的数据,可能那个数据都已经动了,应该怎么样去来保证你对了,我这不是有所有角色吗?啊,找一个靠后的啊。那我先查一把。才把放到最后啊,是所有的角色,我就看最后一个,最后ID是不是这个。能看到吧,好,那此时来。我是更新角色。地址是这个ID换成他。有没有看到?呃,我的那个我看一下啊,获取角色它的名字是不是叫这个。
20:01
啊,名字啊是这个,这个是他的名字,随便写一个,比如说我写个叉叉叉,接着好了,我这个menu是不是多个字啊。我这么整的看好了,来,我别的也不改了,别的懒得改了。本来它是没有的,大家看到它的menu是一个什么空数组,我现在想去更新一把,来试一试,看看行不行,走你。各位。你看它返回的是不是我更新后的结果。能看到吧。可以吧?可以,那也就是说我们这里反馈到了我更新以后的肉吧。Mini。啊,那现在我在干嘛?啊,我还是要是更新显示。那根弦上还是有两种办法。最简单办法就是列表更新嘛,第二呢是吧热是那这个就很简单了。
21:02
能听到不重新发行就获取整个列表,那不是就重新来嘛,是不是当然也可以这么做呢?如果不用这种方式,那写起来就有点稍微有点费劲。嗯,为什么这么说呢?因为我们这个地方。这一个啊,这一个数组。这个数组我们现在是不是更新了它。是不?就能懂吧,啊就是不知道这里面有个事情啊,有个主要有个事情啊,有个什么事呢?嗯,这个Rose本身还是以前那个数字吧,只是它里面的元素发生了什么了。改变。这里面啊,如果你直接。三就要说一个事情,说一个什么事呢?我们的那个S里面的数据到底有没有动。
22:04
如果它已经更新了。已经变了,那我就可以这么做。诶,这个Rose。能听到不啊,如果它已经更新了,就可以这么简单的就可以做。OK,如果他没有更新,那你要找到那个对应的那个下标,因为我也不知道更新的是哪一个,是不是得去匹配,找到对应的肉对它的menu进行什么。更新。嗯。来,我们来看一下,先来看一下,看看是个什么情况啊。来在这里面呢,比如说测试,诶等一下。走,你好,现在假设我有意的把这个去掉。
23:04
可以吧,把这个去掉啊,首页去掉了,好了,点击什么OK。诶,这个要关掉吧,这个说的是设置权限什么成功。来设置权限成功。这个地方我们应该。这里面还是前面做过类似的事情,对吧,前面做过类似的事情,不就是隐藏券框吗?这个好做隐藏确认框。这个地方叫一什么,我不吧,好像是这个是吧,啊是这个啊好。其实并没有已经修改了,对吧,已经后台已经修改了吧。后台已经修复了,但是这个地方要说一个事情,大家注意啊,看看我们当前设置成功以后,接着我点它。
24:02
改了吗?再来看一下。动了吧,动了这能不能看到啊,是可以看到吗?这个有更新,接着我再去打开,是不是能看到最新的一个数据。好,那你说老师,为什么我的这个数组里面数据改了呢?我不改的是no吗?你们想一个事啊,我这里面明显改的是文,大家看呢,我拿看拿到我的这更新。我不往里面指定了一个me数组是不是?我不我不改的是吗。怎么六个死里面能看到变化呢?还是那个是这个只是那个对象的引用变量。是那个对象的引用变量,这能听懂,不是那个对象的引用变量,而说白了,它所引用的那个对象只有一份。
25:00
只整了一份。啊,也关联在那个什么数组上啊,大家看到我们最先肉啊,指定的时候是在哪指定的,这里面其实还有一些门道的,就这个这个很关键。就以这个要怎么来讲。是不是我送给你们一个肉?对不对,接着我要把这个弱是不是让我的这个状态里面存在。通过一个引用变量指向它。说白了就是数组里面本来有一个位置,假设是二吧,二的位置指向了一个肉耳。这是六月日。接着呢,你把这个任务呢,这个对象呢,复制给了他。听懂了不,接着你后面是不是写了一个点mus。等于一个新的子。对不?那你说我这数组能不能看见。可不可以,是可以的吧?可以的。这能听到是OK的,是可以判定的啊。
26:03
这是这一个啊,那后面还有一些问题啊,这里面还有一些问题,我们下一个再说,因为时间挺长了啊,这里面其实还有一些别的问题啊,等会我们再说,好,我们先休息。
我来说两句