请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

render函数和created函数

老师我想问一下,我想在render函数里面执行一些操作,但是里面有一些值是要created中调用接口动态获取的,我现在遇到的一个问题,我created里面的函数先执行了,但是接口还没有返回数据,这时候render函数里面拿到的值为空值,这种情况怎么避免呢?
例子

{
	title: "模板状态",
	key: "xxx",
	type: 'input',
	options:[],
	table: {
		width: 100,
		isFilter: false,
		render: (h, {row}, {options}) => {
			// 这里的options我想通过调用接口然后给他赋值,现在出现的问题就是我这里拿不到值,导致listToMap处理之后还是一个对象
			// 目前我是通过把options这个数组的值手动写死解决的
			let map = listToMap(options)
			......
		}
	}
}

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2021-09-07 17:55:49

如果要依赖数据渲染,可以用 v-if 做控制,手写 render 函数的话,那就 if(xxx) 

1 回复 有任何疑惑可以回复我~
  • 提问者 我要学习去了 #1
    多谢黄老师,我想问下黄老师,像你们这种大公司,组件是不是很少使用到template模板,基本都是封装组件,或者写render函数,然后进行动态渲染,以我目前所在的这个小公司而言,我发现是对element-ui做一层封装,然后通过render函数去动态渲染,感觉灵活性高很多,同时也有点提高我的认知,我以前基本都是写template,现在看了这在的这公司的代码,基本都是render+jsx,有点react的感觉
    回复 有任何疑惑可以回复我~ 2021-09-07 21:26:45
  • ustbhuangyi 回复 提问者 我要学习去了 #2
    template 有它的好处,和写 HTML 差不多,符合直觉。 render 更灵活,一般会配合 JSX。不管哪种写法,适合的才是最好的。
    回复 有任何疑惑可以回复我~ 2021-09-09 09:47:34
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信