zjxlicheng

vxe table pc端表格解决方案 vxe官方文档

vxe-grid 通过edit-config来配置表格点击编辑 触发的条件响应形式 再在相应的column 中配置edit-render设置每一行编辑的显示样式

<vxe-grid ref="xTable" resizable border stripe highlight-hover-row highlight-current-row keep-source column-key row-class-name="rowPointer" class="myTable" 
:data="tableData" row-id="price_item_id" :edit-rules="priceItemValidRules" :loading="tableLoading" 
:edit-config="{trigger:\'dblclick\', mode:\'row\', showStatus:true,activeMethod:activeMethod}" header-align="center">
      <vxe-table-column field="unit_price" title="单价" width="120" align="center" 
	  :edit-render="{name: \'input\', attrs: {type: \'number\',digits:2,min:0}}" 
	  :formatter="formatterInfo" :digits="2"/>
</vxe-grid>

column formatter设置单元格过滤函数(在不改变数据源的情况下)

//定义的规则变量
priceItemValidRules:{
	unit_price: [
		{required: true, message: \'单价不能为空\' },
		{pattern: /^0\.\d+$|^[0-9]+(\.\d+)?$/,message: "输入数值不能为负数",}
	],
}
//过滤格式的 函数
formatterInfo( {cellValue, row, column }){
	cellValue=(cellValue-0).toFixed(2)
	return cellValue
},
//点击编辑前的 逻辑判断
activeMethod({ row, rowIndex, column, columnIndex }){
let isActive= this.$refs.xTable.getCheckboxRecords().filter(i=>
		i.price_item_id==row.price_item_id
	) 
	if(isActive.length<=0){
		this.$message({
			message: \'请先启用该项目\',
			type: \'info\'
		});
	return false
	}
return true
}

分类:

技术点:

相关文章:

  • 2021-12-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
  • 2021-07-07
  • 2021-07-20
  • 2022-12-23
  • 2021-06-05
相关资源
相似解决方案