2021-04-29

element-ui表格嵌套输入框

代码展示:

                el-form(ref="form" :model="form"  :rules="rules")
					el-table(
						:data="form.tableData"
						style="width: 100%"
						:header-cell-style="{background:'#fafafa',color:'#252525'}"
						row-key="id"
					)
						el-table-column(
							prop="name"
							label="名称"
							width="100"
							align="center"
						)
						el-table-column(
							prop="type"
							label="类型"
							width="100"
							align="center"
						)
							template(slot-scope="scope")
								span(v-if="scope.row.type === 1") 礼品券
								span(v-if="scope.row.type === 2") 代金券
						el-table-column(
							prop="available"
							label="可用(张)"
							width="100"
							align="center"
						)
						el-table-column(
							prop="occupy"
							label="已占用(张)"
							width="100"
							align="center"
						)
						el-table-column(
							prop="amount"
							label="优惠面额"
							width="100"
							align="center"
						)
							template(slot-scope="scope")
								span {{scope.row.amount}}元
						el-table-column(
							prop="threshold_amount"
							label="启用门槛"
							width="120"
							align="center"
						)
							template(slot-scope="scope")
								span 满{{scope.row.threshold_amount}}元可用
						el-table-column(
							prop="expire_type"
							label="有效期"
							width="200"
							align="center"
						)
							template(slot-scope="scope")
								span(v-if="scope.row.expire_type === 1") 无限制
								span(v-if="scope.row.expire_type === 2")
									span {{dateFormat(scope.row)}}
								span(v-if="scope.row.expire_type === 3") 领劵后{{scope.row.days_expire}}天有效
						el-table-column(
							label="发券数/人"
							width="110"
							align="center"
						)
							template(slot-scope="scope")
								el-form-item( :prop="'tableData.'+scope.$index+'.num'" :rules="rules.payloadNum" class='centerInput')
									el-input(
										v-model.number="scope.row.num"
										size="mini"
										placeholder="请输入"
										@blur="oninput(scope.row.available,scope.$index,scope.row.num)"
									)
						el-table-column(
							prop="coupon_sn"
							label="操作"
							align="center"
						)
							template(slot-scope="scope")
								el-link(
									type="primary"
									@click="deletes(scope.$index)"
									:underline="false"
								) 删除
					.button
						el-button(
								type="primary"
								@click="confirmSend"
							) 确定发送

删除方法(通过索引直接删除绑定tableData里的数据)

        deletes(index) {
			this.forms.tableData.splice(index, 1);
		},

表格输入框输入事件oninput,因为我的输入框会有一个验证,不能输入0或者输入比现有数据大的数据

// 用户输入框输入时
oninput(available, index, amount) {
    // 输入框的值
	this.multipleSelections[index].amount = amount;
    // Maxavailable每一行的最大输入数据
	this.Maxavailable = available;
}

验证规则:

rules1: {
		payloadNum: [
		    {
			    required: true, validator: validateNum, trigger: 'blur', message: ''
			},
			{ type: 'number', message: '请填写数字', trigger: 'blur' }
		]
},



const validateNum = (rule, value, callback) => {
	if (value === '' || value === undefined) {
		callback(new Error('请填写发劵数'));
		return;
	}
	if (value > this.Maxavailable || value < 1) {
		callback(new Error('请正确填写'));
		return;
	}
	callback();
};

最后注意,在el-table下加上row-key="id",否则在进行删除操作时,上一行的错误提示,会在下一行显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下代码将该XML实例转换为application/x-www-form-urlencoded格式的模型: ``` using System.Net.Http; using System.Text; using System.Xml; // 将XML实例转换为application/x-www-form-urlencoded模型 var xmlString = @"<OTA_InventoryCheckRQ EchoToken='487ef6b0-3526-45e3-81e7-0eac31754c10' Password='abc888888' PrimaryLangID='en-us' TimeStamp='2021-04-20 10:30:59' UserName='guowang' Version='1.000'> <POS> <Source> <RequestorID ID='elongID' Type='2'/> </Source> </POS> <HotelReservations> <HotelReservation> <RoomStay> <RoomTypes> <RoomType RoomTypeCode='5412309'/> </RoomTypes> <RatePlans> <RatePlan RatePlanCode='4674478'/> </RatePlans> <GuestCounts> <GuestCount AgeQualifyingCode='10' Count='2'/> <GuestCount AgeQualifyingCode='8' Count='0'/> </GuestCounts> <BasicPropertyInfo HotelCode='2525137'/> </RoomStay> <ResGlobalInfo> <RoomCount>10</RoomCount> <MemberLevel>V1</MemberLevel> <TimeSpan End='2021-04-30' Start='2021-04-29'/> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_InventoryCheckRQ>"; var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlString); var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("Message", xmlDoc.OuterXml) }); var encodedString = formContent.ReadAsStringAsync().Result; Console.WriteLine(encodedString); ``` 输出结果为: ``` Message=%3COTA_InventoryCheckRQ%20EchoToken%3D%22487ef6b0-3526-45e3-81e7-0eac31754c10%22%20Password%3D%22abc888888%22%20PrimaryLangID%3D%22en-us%22%20TimeStamp%3D%222021-04-20%2010%3A30%3A59%22%20UserName%3D%22guowang%22%20Version%3D%221.000%22%3E%3CPOS%3E%3CSource%3E%3CRequestorID%20ID%3D%22elongID%22%20Type%3D%222%22%2F%3E%3C%2FSource%3E%3C%2FPOS%3E%3CHotelReservations%3E%3CHotelReservation%3E%3CRoomStay%3E%3CRoomTypes%3E%3CRoomType%20RoomTypeCode%3D%225412309%22%2F%3E%3C%2FRoomTypes%3E%3CRatePlans%3E%3CRatePlan%20RatePlanCode%3D%224674478%22%2F%3E%3C%2FRatePlans%3E%3CGuestCounts%3E%3CGuestCount%20AgeQualifyingCode%3D%2210%22%20Count%3D%222%22%2F%3E%3CGuestCount%20AgeQualifyingCode%3D%228%22%20Count%3D%220%22%2F%3E%3C%2FGuestCounts%3E%3CBasicPropertyInfo%20HotelCode%3D%222525137%22%2F%3E%3C%2FRoomStay%3E%3CResGlobalInfo%3E%3CRoomCount%3E10%3C%2FRoomCount%3E%3CMemberLevel%3EV1%3C%2FMemberLevel%3E%3CTimeSpan%20End%3D%222021-04-30%22%20Start%3D%222021-04-29%22%2F%3E%3C%2FResGlobalInfo%3E%3C%2FHotelReservation%3E%3C%2FHotelReservations%3E%3C%2FOTA_InventoryCheckRQ%3E ``` 其中,key为"Message",value为对该XML实例进行URL编码后的字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值