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)
}
}
});
}
},
文章评论