iview的render出来的组件如何绑定数据

2021-06-20 948点热度 0人点赞 0条评论

iView里在render下渲染出来的组件里,是不能直接做数据绑定的,不过只要能在组件初始化的时候,给组件赋值,以及用户交互下监听组件状态改变,即时改变相对应的data,就就符合我们的预期了,下面举例介绍

以Select为例:

{
   title: '类型',
   key: 'type',
   width: 300,
   render: (h, params) => {
       return h('Select', {
               props: {
                   // 初始化赋值,从params.row中挑出给select初始化赋值
                   value: params.row.type_no,
                   transfer: true
               },
               style: {
                   // marginLeft: '25px'
               },
               class: 'my-no-border',
               on: {
                   'on-select': (value) => {
                       this.type_no = value.value;
                       // 监听Select改变时候,给this.type_no赋值
                       // console.log('value changed: ' + value.value)
                   }
               }
           }, this.types.map((obj) => {
               return h('Option', {
                   props: {value: obj.no}
               }, obj.name);
           })
       );
   }
},

Input为例:

{
    title: '姓名',
    key: 'name',
    width: 300,
    render: (h, params) => {
        return h('Input', {
            props: {
                type: 'number',
                // 初始赋值
                value: params.row.name
            },
            style: {
                marginLeft: '25px'
            },
            class: 'my-no-border',
            on: {
                'input': (value) => {
                    this.name = value;
                    // 监听input,修改时候,给this.name赋值
                    // console.log('value changed: ' + value)
                }
            }
        });
    }
},

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论