# 组件说明
# Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
source-attribute | SKU可选属性 | array | [] |
structure | 表单结构 | array | [{ name: 'price', type: 'input', label: '价格' }, { name: 'stock', type: 'input', label: '库存' }] |
attribute | SKU已选属性,支持 .sync 修饰符 | array | [] |
sku | SKU数据,支持 .sync 修饰符 | array | [] |
separator | SKU字段分隔符 | string | ; |
emptySku | 无属性SKU名称 | string | |
disabled | 是否显示SKU选择栏 | boolean | false |
theme | SKU选择栏主题风格,可选1或2 | int | 1 |
async | 是否开启异步加载 | boolean | false |
# source-attribute
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
name | 属性名称 | string | |
item | 属性可选项 | array | |
canAddAttribute | 是否可以添加属性 | boolean | true |
// 例子
[
{ name: '颜色', item: ['黑', '金', '白'] },
{ name: '内存', item: ['16G', '32G'], canAddAttribute: false },
{ name: '运营商', item: ['电信', '移动', '联通'] }
]
# structure
名称 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
name | SKU数据里的属性 | string | ||
type | 表单展示形式,默认为输入框,当设置为 slot 时,为自定义插槽 | string | input | input, slot |
skuProperty | 当 type 设置为 slot 时,可选择是否插槽数据是否记录到 sku 数据里 | boolean | true | |
defaultValue | 默认值 | any | ||
label | 表头名称 | string | ||
tip | 鼠标悬停提示 | string | ||
batch | 是否开启批量设置 | boolean | true | |
required | 是否必填 | boolean | false | |
validate | 自定义校验回调方法 | function | false |
// 例子
[
{
name: 'code',
type: 'input',
label: '商品唯一编码',
required: true,
batch: false
},
{
name: 'originalprice',
type: 'input',
label: '成本价'
},
{
name: 'price',
type: 'input',
label: '销售价'
},
{
name: 'stock',
type: 'input',
defaultValue: 10,
label: '库存',
tip: '库存数不能少于10',
validate: (data, index, callback) => {
if (parseInt(data[index].stock) < 10) {
callback(new Error('库存不能小于10'))
}
callback()
}
}
]
# attribute
名称 | 说明 | 类型 | 可选值 |
---|---|---|---|
name | 属性名称 | string | |
item | 属性已选项 | array |
// 例子
[
{ name: '颜色', item: ['黑', '红'] },
{ name: '运营商', item: ['电信'] }
]
// 需要注意 attribute 的属性名称需要 source-attribute 里存在,但 attribute 的属性已选项则没有限制
// 例如下面的例子则是错误示范
[
{ name: '尺码', item: ['L', 'M'] },
{ name: '运营商', item: ['电信'] }
]
# Methods
方法名 | 说明 |
---|---|
init | 初始化方法,如果数据是异步载入,需要在获取到数据后手动进行SKU表单的初始化 |
validate | SKU表单验证方法,参数为一个回调函数 |
validateField | SKU表单验证指定列方法,第一个参数为列名(structure 里的属性名),第二个参数为一个回调函数 |
clearValidate | 清除SKU表单验证结果 |